From fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 29 七月 2024 18:51:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
index 39cee12..66a4a80 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
@@ -7,14 +7,20 @@
 import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.annotation.InnerAuth;
+import com.ruoyi.goods.mapper.GoodsSkuMapper;
+import com.ruoyi.goods.service.IGoodsSkuService;
 import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo;
 import com.ruoyi.goods.service.impl.GoodsGroupPurchaseInfoServiceImpl;
 import com.ruoyi.system.api.domain.GoodsGroupPurchase;
 import com.ruoyi.goods.service.IGoodsGroupPurchaseService;
+import com.ruoyi.system.api.domain.GoodsSku;
+import com.ruoyi.system.api.domain.Order;
 import com.ruoyi.system.api.feignClient.OrderClient;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * <p>
@@ -35,6 +41,8 @@
     private final GoodsGroupPurchaseInfoServiceImpl goodsGroupPurchaseInfoServiceImpl;
 
     private final OrderClient orderClient;
+
+    private final GoodsSkuMapper goodsSkuMapper;
 
     @InnerAuth
     @PostMapping("/getGoodsSeckiGoodsGroupPurchaseOne")
@@ -57,17 +65,32 @@
     }
 
     @InnerAuth
-    @PostMapping("/getGoodsSeckiGoodsGroupPurchaseInfo1")
-    public R<GoodsGroupPurchaseInfo> getGoodsSeckiGoodsGroupPurchaseInfo1(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo) {
+    @PostMapping("/getGoodsSeckiGoodsGroupPurchaseInfo2")
+    public R<GoodsGroupPurchaseInfo> getGoodsSeckiGoodsGroupPurchaseInfo2(@RequestBody String goodsSkuId) {
+        LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery();
+        wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0);
+        wrapper6.eq(GoodsGroupPurchaseInfo::getMubre,goodsSkuId);
+        GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoServiceImpl.getOne(wrapper6);
+
+        return R.ok(one1);
+    }
+
+    @InnerAuth
+    @PostMapping("/updgoodsGroupPurchaseInfo1")
+    public R<GoodsGroupPurchaseInfo> updgoodsGroupPurchaseInfo1(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo) {
         LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery();
         wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0);
         wrapper6.eq(GoodsGroupPurchaseInfo::getMubre,goodsGroupPurchaseInfo.getMubre());
         GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoServiceImpl.getOne(wrapper6);
        int i=one1.getCurrentNumber()-1;
        if (i==0){
-           one1.setCurrentNumber(0);
-           one1.setGroupStatus(0);
-           goodsGroupPurchaseInfoServiceImpl.updateById(one1);
+           GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId());
+           int i1 = byId.getLimitNumber() * byId.getGroupSize();
+
+           GoodsSku goodsSku = goodsSkuMapper.selectById(byId.getGoodsSkuId());
+           int i2 = i1 + goodsSku.getStock();
+           goodsSku.setStock(i2);
+           goodsSkuMapper.updateById(goodsSku);
            goodsGroupPurchaseInfoServiceImpl.removeById(one1);
        }else{
            one1.setCurrentNumber(i);
@@ -90,10 +113,48 @@
                  if (num==byId.getGroupSize()){
                      byId.setGroupStatus(1);
                      orderClient.updateOrderStatusByMubres1(byId.getMubre(), SecurityConstants.INNER);
+
+                     List<Order> listR = orderClient.updateOrderStatusByMubres2(byId.getMubre(), SecurityConstants.INNER).getData();
+                     int i=0;
+                     for (Order l:listR){
+                         i=i+l.getGoodsQuantity();
+                     }
+
+                     GoodsGroupPurchase byId1 = goodsGroupPurchaseService.getById(byId.getGroupPurchaseId());
+                     int i1 = byId1.getLimitNumber() * byId.getGroupSize();
+                     if (i<i1){
+                         int i3=i1-i;
+                         GoodsSku goodsSku = goodsSkuMapper.selectById(byId1.getGoodsSkuId());
+                         int i2 = i3 + goodsSku.getStock();
+                         goodsSku.setStock(i2);
+                         goodsSkuMapper.updateById(goodsSku);
+                     }
+
                  }
                  goodsGroupPurchaseInfoServiceImpl.updateById(byId);
              }else{
+                 if (goodsGroupPurchaseInfo.getCurrentNumber()==goodsGroupPurchaseInfo.getGroupSize()){
+                     goodsGroupPurchaseInfo.setGroupStatus(1);
+                     orderClient.updateOrderStatusByMubres1(goodsGroupPurchaseInfo.getMubre(), SecurityConstants.INNER);
+                 }
                  goodsGroupPurchaseInfoServiceImpl.save(goodsGroupPurchaseInfo);
+                 if (goodsGroupPurchaseInfo.getCurrentNumber()==goodsGroupPurchaseInfo.getGroupSize()) {
+                     List<Order> listR = orderClient.updateOrderStatusByMubres2(goodsGroupPurchaseInfo.getMubre(), SecurityConstants.INNER).getData();
+                     int i = 0;
+                     for (Order l : listR) {
+                         i = i + l.getGoodsQuantity();
+                     }
+
+                     GoodsGroupPurchase byId1 = goodsGroupPurchaseService.getById(goodsGroupPurchaseInfo.getGroupPurchaseId());
+                     int i1 = byId1.getLimitNumber() * goodsGroupPurchaseInfo.getGroupSize();
+                     if (i < i1) {
+                         int i3 = i1 - i;
+                         GoodsSku goodsSku = goodsSkuMapper.selectById(byId1.getGoodsSkuId());
+                         int i2 = i3 + goodsSku.getStock();
+                         goodsSku.setStock(i2);
+                         goodsSkuMapper.updateById(goodsSku);
+                     }
+                 }
              }
 
         return R.ok();

--
Gitblit v1.7.1