Просмотр исходного кода

批量编辑规格的加购属性

zoujiajian 2 лет назад
Родитель
Сommit
db9f53dc32

+ 21 - 0
netflix-dao/src/main/java/com/cyksj/model/request/PurchaseGoodsReq.java

@@ -0,0 +1,21 @@
+package com.cyksj.model.request;
+
+import com.cyksj.model.entity.GoodsDiscountPlusPurchaseRelation;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: PurchaseGoodsReq
+ * 创建者: JavaZou
+ * 创建时间:2024/3/20 17:18
+ */
+@Getter
+@Setter
+public class PurchaseGoodsReq {
+	private List<Long> skuIds;
+
+	private List<GoodsDiscountPlusPurchaseRelation> dpSku;
+}

+ 23 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonSkuController.java

@@ -14,6 +14,7 @@ import com.cyksj.model.entity.GoodsDon;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.manage.request.ReqGoodsSkuInsert;
 import com.cyksj.model.request.CombinationSkuReq;
+import com.cyksj.model.request.PurchaseGoodsReq;
 import com.cyksj.model.views.DistributeSearchView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.mange.CmsGoodsDonService;
@@ -245,4 +246,26 @@ public class CmsGoodsDonSkuController {
         }
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
+
+    /**
+     * 批量编辑规格优惠加购
+     */
+    @PostMapping("/batch/purchase/goods")
+    @Transactional(rollbackFor = Throwable.class)
+    public Result<String> handlerPurchaseGoods(@RequestBody PurchaseGoodsReq purchaseGoodsReq) {
+        List<Long> skuIds = purchaseGoodsReq.getSkuIds();
+        List<GoodsDiscountPlusPurchaseRelation> dpSku = purchaseGoodsReq.getDpSku();
+        if (CollUtil.isEmpty(skuIds)) {
+            throw BusinessRuntimeException.getInstance("请选择要添加加购属性的规格..");
+        }
+        if (CollUtil.isEmpty(dpSku)) {
+            throw BusinessRuntimeException.getInstance("加购规格不能为空..");
+        }
+        List<GoodsDonSku> goodsDonSkus = goodsDonSkuService.list(Wrappers.lambdaQuery(GoodsDonSku.class)
+                .eq(GoodsDonSku::getId, skuIds));
+        goodsDonSkus.forEach(sku -> goodsDonSkuService.handleDiscountPurchaseGoods(sku, dpSku));
+        Set<String> keys = redisService.keys(RedisService.key.YH_HOME_PAGHE_CACHE.getEnvName() + "*");
+        redisService.del(keys.toArray(String[]::new));
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
 }