From 1fc15232cf819845877be762a79ed79dc655f810 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 13 Dec 2023 09:36:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=AF=BC=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/controller/GoodsSkuController.java | 90 +++++++++++-------- .../goods/controller/GoodsSpuController.java | 2 +- .../goods/entity/vo/GoodsSkuExportVo.java | 4 +- 3 files changed, 56 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java index 2bf8c6de..8123c4d3 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java @@ -230,45 +230,49 @@ public class GoodsSkuController { Map> skuItemList = param.getSkuList().stream().collect(Collectors.groupingBy(GoodsSkuImportBo.SkuItem::getOpt)); //处理删除 List delList = skuItemList.get(DELETE); - List delSkuCodes = delList.stream().map(GoodsSkuImportBo.SkuItem::getSkuCode).collect(Collectors.toList()); - QueryWrapper lqw1 = new QueryWrapper<>(); - lqw1.eq("target_type", TbsGoodsType.sku.name()); - lqw1.eq("target_code",delSkuCodes); - lqw1.select("target_code"); - List activityGoodsList = activityGoodsService.list(lqw1); - List budgetConditionList = budgetConditionService.list(lqw1); - List salePlanGoodsList = salePlanGoodsService.list(lqw1); - for (TbsActivityGoods item : activityGoodsList) { - for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) { - if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){ - skuItem.setErrMsg(skuItem.getErrMsg()==null?"活动含有当前商品,删除失败;":skuItem.getErrMsg()+"\n活动含有当前商品,删除失败;"); + if(delList!=null){ + List delSkuCodes = delList.stream().map(GoodsSkuImportBo.SkuItem::getSkuCode).collect(Collectors.toList()); + QueryWrapper lqw1 = new QueryWrapper<>(); + lqw1.eq("target_type", TbsGoodsType.sku.name()); + lqw1.eq("target_code",delSkuCodes); + lqw1.select("target_code"); + List activityGoodsList = activityGoodsService.list(lqw1); + List budgetConditionList = budgetConditionService.list(lqw1); + List salePlanGoodsList = salePlanGoodsService.list(lqw1); + for (TbsActivityGoods item : activityGoodsList) { + for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) { + if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){ + skuItem.setErrMsg(skuItem.getErrMsg()==null?"活动含有当前商品,删除失败;":skuItem.getErrMsg()+"\n活动含有当前商品,删除失败;"); + } } } - } - for (TbsBudgetCondition item : budgetConditionList) { - for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) { - if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){ - skuItem.setErrMsg(skuItem.getErrMsg()==null?"预算含有当前商品,删除失败;":skuItem.getErrMsg()+"\n预算含有当前商品,删除失败;"); + for (TbsBudgetCondition item : budgetConditionList) { + for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) { + if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){ + skuItem.setErrMsg(skuItem.getErrMsg()==null?"预算含有当前商品,删除失败;":skuItem.getErrMsg()+"\n预算含有当前商品,删除失败;"); + } } } - } - for (SalePlanGoods item : salePlanGoodsList) { - for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) { - if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){ - skuItem.setErrMsg(skuItem.getErrMsg()==null?"销售计划含有当前商品,删除失败;":skuItem.getErrMsg()+"\n销售计划含有当前商品,删除失败;"); + for (SalePlanGoods item : salePlanGoodsList) { + for (GoodsSkuImportBo.SkuItem skuItem : param.getSkuList()) { + if(item.getTargetCode().equals(skuItem.getSkuCode())&&DELETE.equals(skuItem.getOpt())){ + skuItem.setErrMsg(skuItem.getErrMsg()==null?"销售计划含有当前商品,删除失败;":skuItem.getErrMsg()+"\n销售计划含有当前商品,删除失败;"); + } } } + //执行删除 + List skuCodeToDelList = param.getSkuList().stream() + .filter(a->a.getErrMsg()==null) + .map(GoodsSkuImportBo.SkuItem::getSkuCode) + .collect(Collectors.toList()); + if(skuCodeToDelList.size()>0){ + LambdaQueryWrapper delLqw = new LambdaQueryWrapper<>(); + delLqw.in(GoodsSku::getSkuCode,skuCodeToDelList); + goodsSkuService.remove(delLqw); + } } - //执行删除 - List skuCodeToDelList = param.getSkuList().stream() - .filter(a->a.getErrMsg()==null) - .map(GoodsSkuImportBo.SkuItem::getSkuCode) - .collect(Collectors.toList()); - if(skuCodeToDelList.size()>0){ - LambdaQueryWrapper delLqw = new LambdaQueryWrapper<>(); - delLqw.in(GoodsSku::getSkuCode,skuCodeToDelList); - goodsSkuService.remove(delLqw); - } + + //处理更新和新增 List skuCodes = param.getSkuList().stream().map(GoodsSkuImportBo.SkuItem::getSkuCode).distinct().collect(Collectors.toList()); @@ -337,18 +341,28 @@ public class GoodsSkuController { } private GoodsSku selectSku( List skuList, String skuCode){ - for (GoodsSku goodsSku : skuList) { - if(goodsSku.getSkuCode().equals(skuCode)){ - return goodsSku; + if(skuCode!=null){ + for (GoodsSku goodsSku : skuList) { + if(goodsSku.getSkuCode()==null){ + continue; + } + if(goodsSku.getSkuCode().equals(skuCode)){ + return goodsSku; + } } } return null; } private GoodsSpu selectSpu( List spuList, String skuCode){ - for (GoodsSpu goodsSpu : spuList) { - if(goodsSpu.getSkuCode().equals(skuCode)){ - return goodsSpu; + if(skuCode!=null){ + for (GoodsSpu goodsSpu : spuList) { + if(goodsSpu.getSkuCode()==null){ + continue; + } + if(goodsSpu.getSkuCode().equals(skuCode)){ + return goodsSpu; + } } } return null; diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java index 812164b3..71e2020c 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -416,7 +416,7 @@ public class GoodsSpuController { } if(isError){ - return R.error("数据异常",param); + return R.ok(param); } List rmIds = new ArrayList<>(); diff --git a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java index 33053315..d819c28a 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java @@ -36,8 +36,10 @@ public class GoodsSkuExportVo implements Serializable { private String skuName; + private String name; + /** spu编码 */ - private Long spuCode; + private String spuCode; /** 销售价格 */ private BigDecimal salesPrice;