规格回收站bug1
This commit is contained in:
@@ -82,10 +82,7 @@ public class SkuController {
|
||||
@Operation(summary = "修改属性下面规格值")
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> updatePropValue(@RequestParam("id") Long id,@RequestParam("propValue") String propValue) {
|
||||
ProdPropValueDO propValueDO = new ProdPropValueDO();
|
||||
propValueDO.setId(id);
|
||||
propValueDO.setPropValue(propValue);
|
||||
prodPropValueMapper.updateById(propValueDO);
|
||||
skuService.updatePropVal(id,propValue);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@@ -120,7 +117,7 @@ public class SkuController {
|
||||
|
||||
@PostMapping("/restorePropList")
|
||||
@Operation(summary = "恢复规格")
|
||||
@Parameter(name = "ids", description = "skuids", required = true)
|
||||
@Parameter(name = "ids", description = "规格id集合", required = true)
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> restorePropList(@RequestParam("ids") List<Long> ids) {
|
||||
skuService.restorePropList(ids);
|
||||
|
||||
@@ -42,4 +42,8 @@ public interface ProdPropValueMapper extends BaseMapperX<ProdPropValueDO> {
|
||||
IPage<ProPropRecycleBinVO> getSKuPropRecycleBinList(Page<?> page, @Param("prodId") Long prodId,@Param("propValue")String propValue);
|
||||
|
||||
List<ProdPropValueDO> getskuListByPropValueIds(@Param("ids")List<Long> ids);
|
||||
|
||||
void restorePropValue(@Param("ids") List<Long> ids);
|
||||
|
||||
int getMaxPropValue(@Param("propId")Long propId);
|
||||
}
|
||||
@@ -23,7 +23,8 @@ public interface SkuMapper extends BaseMapperX<SkuDO> {
|
||||
IPage<SkuDO> getSkuPageList(Page<?> page, @Param("prodId") Long prodId,@Param("skuId") Long skuId, @Param("properties")String properties);
|
||||
|
||||
|
||||
List<SkuDO> getSkuListByName( @Param("propertiesName")String propertiesName);
|
||||
List<SkuDO> getSkuListByName( @Param("prodId")Long prodId , @Param("propertiesName")String propertiesName);
|
||||
|
||||
List<String> selectPropertiesByProdIdAndNotDeleted( @Param("prodId")Long prodId);
|
||||
|
||||
List<String> selectPropertiesByProdIdShelf( @Param("prodId")Long prodId);
|
||||
|
||||
@@ -58,6 +58,9 @@ public interface SkuService {
|
||||
*/
|
||||
void updateProp(SkuPropVO skuPropVO);
|
||||
|
||||
|
||||
void updatePropVal(Long id, String propValue);
|
||||
|
||||
/**
|
||||
* 删除规格值
|
||||
*
|
||||
|
||||
@@ -65,7 +65,8 @@ public class SkuServiceImpl implements SkuService {
|
||||
private ProdExtendService prodExtendService;
|
||||
@Resource
|
||||
private ProdPropValueMapper prodPropValueMapper;
|
||||
|
||||
@Resource
|
||||
private ProdPropMapper prodPropMapper;
|
||||
|
||||
@Override
|
||||
public Long createSku(SkuSaveReqVO createReqVO) {
|
||||
@@ -410,11 +411,39 @@ public class SkuServiceImpl implements SkuService {
|
||||
prodPropService.updateProdPropAndValues(skuPropVO);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updatePropVal(Long id, String propValue) {
|
||||
ProdPropValueDO prodPropValueDO = prodPropValueMapper.selectById(id);
|
||||
ProdPropDO prodPropDO =prodPropMapper.selectById(prodPropValueDO.getPropId());
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropDO.getProdId(),prodPropValueDO.getPropValue());
|
||||
prodPropValueDO.setPropValue(propValue);
|
||||
prodPropValueMapper.updateById(prodPropValueDO);
|
||||
List<Long> skuids = new ArrayList<>();
|
||||
for (SkuDO skuDO : skuDOList) {
|
||||
if (skuDO.getProperties() != null) {
|
||||
String[] split = skuDO.getProperties().split(",");
|
||||
for (String s : split) {
|
||||
if (s.equals(prodPropValueDO.getPropValue())) {
|
||||
skuDO.setProperties(prodPropValueDO.getPropValue());
|
||||
skuDO.setSkuName(prodPropValueDO.getPropValue());
|
||||
skuMapper.updateById(skuDO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(skuids)) {
|
||||
skuMapper.batchSkuDeleted(skuids);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void deleteProp(Long id) {
|
||||
ProdPropValueDO prodPropValueDO = prodPropValueService.getById(id);
|
||||
ProdPropDO prodPropDO =prodPropMapper.selectById(prodPropValueDO.getPropId());
|
||||
prodPropValueService.deleteProdPropValue(id);
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropValueDO.getPropValue());
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropDO.getProdId(),prodPropValueDO.getPropValue());
|
||||
List<Long> skuids = new ArrayList<>();
|
||||
for (SkuDO skuDO : skuDOList) {
|
||||
if (skuDO.getProperties() != null) {
|
||||
@@ -436,8 +465,9 @@ public class SkuServiceImpl implements SkuService {
|
||||
ProdPropValueDO prodPropValueDO = prodPropValueService.getById(id);
|
||||
prodPropValueDO.setState(state);
|
||||
prodPropValueService.updateById(prodPropValueDO);
|
||||
ProdPropDO prodPropDO =prodPropMapper.selectById(prodPropValueDO.getPropId());
|
||||
if (Objects.equals(BaseEnum.NO_ZERO.getKey(), state)) {
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropValueDO.getPropValue());
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropDO.getProdId(),prodPropValueDO.getPropValue());
|
||||
List<SkuDO> skuDOList1 = new ArrayList<>();
|
||||
for (SkuDO skuDO : skuDOList) {
|
||||
if (skuDO.getProperties() != null) {
|
||||
@@ -775,12 +805,13 @@ public class SkuServiceImpl implements SkuService {
|
||||
|
||||
@Override
|
||||
public void restorePropList(List<Long> ids) {
|
||||
prodPropValueMapper.restorePropValue(ids);
|
||||
List<ProdPropValueDO> prodPropValueDOList = prodPropValueMapper.getskuListByPropValueIds(ids);
|
||||
for(ProdPropValueDO prodPropValueDO: prodPropValueDOList){
|
||||
prodPropValueDO.setState(BaseEnum.YES_ONE.getKey());
|
||||
for (ProdPropValueDO prodPropValueDO : prodPropValueDOList) {
|
||||
int maxPropValue =prodPropValueMapper.getMaxPropValue(prodPropValueDO.getPropId());
|
||||
prodPropValueDO.setSort(maxPropValue+1);
|
||||
prodPropValueService.updateById(prodPropValueDO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,11 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getMaxPropValue" resultType="int">
|
||||
SELECT max(sort) FROM `tz_prod_prop_value` WHERE prop_id = #{propId} AND deleted = 0
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
<update id="batchMarkDeleted">
|
||||
@@ -103,4 +108,14 @@
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<update id="restorePropValue">
|
||||
UPDATE tz_prod_prop_value
|
||||
SET is_expire = 1, deleted = 0
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -10,7 +10,7 @@
|
||||
-->
|
||||
|
||||
<select id="getSkuRecycleBinPageList" resultType="com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO" >
|
||||
select sku_id, properties,sku_name, delete_time from tz_sku where prod_id = #{prodId} and deleted = 1
|
||||
select * from tz_sku where prod_id = #{prodId} and deleted = 1
|
||||
<if test="properties != null and properties != ''">
|
||||
and properties like concat('%', #{properties}, '%')
|
||||
</if>
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
|
||||
<select id="getSkuListByName" resultType="com.tashow.cloud.productapi.api.product.dto.SkuDO" >
|
||||
select sku_id, properties, delete_time,deleted from tz_sku where deleted = 0
|
||||
select sku_id, properties, delete_time,deleted from tz_sku where deleted = 0 and prod_id = #{prodId}
|
||||
<if test="propertiesName != null and propertiesName != ''">
|
||||
and properties like concat('%', #{propertiesName}, '%')
|
||||
</if>
|
||||
|
||||
Reference in New Issue
Block a user