From acbd4db61bdd7f01ea23636240a4a9e729b1117a Mon Sep 17 00:00:00 2001 From: dy-hu Date: Thu, 4 Jul 2024 17:54:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=AE=B6=E7=AB=AF=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=8D=95=E7=BB=84=E8=A7=84=E6=A0=BC=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E5=88=A0=E9=99=A4=E8=A7=84=E6=A0=BC=E5=80=BC=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E5=8A=9F=E8=83=BD=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cereshop/business/dao/product/CereSkuNameDAO.java | 2 ++ .../business/param/product/ProductUpdateParam.java | 2 +- .../business/service/product/CereSkuNameService.java | 2 ++ .../service/product/impl/CereShopProductServiceImpl.java | 15 ++++++++++----- .../service/product/impl/CereSkuNameServiceImpl.java | 5 +++++ .../resources/mybatis/mapper/product/CereSkuNameDAO.xml | 8 ++++++++ 6 files changed, 28 insertions(+), 6 deletions(-) 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} + +