diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereSkuNameDAO.java b/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereSkuNameDAO.java index 03caffe..8650610 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereSkuNameDAO.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/dao/product/CereSkuNameDAO.java @@ -49,4 +49,6 @@ public interface CereSkuNameDAO extends BaseMapper { List findDeleteSkuIds(@Param("list") List list,@Param("productId") Long productId); List findSkuNameListByProductId(Long productId); + + List findSkuNameBySkuIds(@Param("ids") List ids); } diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/param/product/ProductUpdateParam.java b/cereshop-business/src/main/java/com/shop/cereshop/business/param/product/ProductUpdateParam.java index 5f459ce..ff6ff33 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/param/product/ProductUpdateParam.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/param/product/ProductUpdateParam.java @@ -142,7 +142,7 @@ public class ProductUpdateParam { * 删除规格数据 */ @ApiModelProperty(value = "删除规格数据") - private List deletes; + private List deletes; @ApiModelProperty("是否支持积分抵扣") private Integer ifCredit; diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/CereSkuNameService.java b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/CereSkuNameService.java index 00f2369..fcdf919 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/CereSkuNameService.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/CereSkuNameService.java @@ -44,4 +44,6 @@ public interface CereSkuNameService extends IService { List findDeleteSkuIds(List deletes,Long productId); List findSkuNameListByProductId(Long productId); + + List findSkuNameBySkuIds(List ids); } diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java index 524006f..9be36ae 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java @@ -1162,7 +1162,7 @@ public class CereShopProductServiceImpl implements CereShopProductService { } } - private List saveSkus(List skus, CereShopProduct cereShopProduct, List deletes, + private List saveSkus(List skus, CereShopProduct cereShopProduct, List deletes, String time,Map map,List names) throws CoBusinessException{ List changeResult = new ArrayList<>(); if(!EmptyUtils.isEmpty(skus)){ @@ -1303,11 +1303,16 @@ public class CereShopProductServiceImpl implements CereShopProductService { } if(!EmptyUtils.isEmpty(deletes)){ //删除规格,查询满足删除规格属性的所有规格id - List ids=cereSkuNameService.findDeleteSkuIds(deletes,cereShopProduct.getProductId()); - if(!EmptyUtils.isEmpty(ids)){ - cereProductSkuService.deleteByIds(ids); + List skuNameList = cereSkuNameService.findSkuNameBySkuIds(deletes); + List skuUniIds = skuNameList.stream().map(CereSkuName::getUniId).collect(Collectors.toList()); + cereSkuNameLangInfoService.remove(Wrappers.lambdaQuery() + .in(CereSkuNameLangInfo::getSkuUniId, + skuUniIds)); + + if(!EmptyUtils.isEmpty(deletes)){ + cereProductSkuService.deleteByIds(deletes); //清空规格名和规格值关联数据 - cereSkuNameService.deleteByIds(ids); + cereSkuNameService.deleteByIds(deletes); } } diff --git a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereSkuNameServiceImpl.java b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereSkuNameServiceImpl.java index 2155217..8bf4fc8 100644 --- a/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereSkuNameServiceImpl.java +++ b/cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereSkuNameServiceImpl.java @@ -94,4 +94,9 @@ public class CereSkuNameServiceImpl extends ServiceImpl findSkuNameListByProductId(Long productId) { return cereSkuNameDAO.findSkuNameListByProductId(productId); } + + @Override + public List findSkuNameBySkuIds(List ids) { + return cereSkuNameDAO.findSkuNameBySkuIds(ids); + } } diff --git a/cereshop-business/src/main/resources/mybatis/mapper/product/CereSkuNameDAO.xml b/cereshop-business/src/main/resources/mybatis/mapper/product/CereSkuNameDAO.xml index 158315b..6da1a4c 100644 --- a/cereshop-business/src/main/resources/mybatis/mapper/product/CereSkuNameDAO.xml +++ b/cereshop-business/src/main/resources/mybatis/mapper/product/CereSkuNameDAO.xml @@ -180,4 +180,12 @@ from cere_sku_name a join cere_product_sku b on a.sku_id = b.sku_id where b.product_id = #{productId} + +