From 356b6e4b0a11a6e44717dc9b92beaacc9c0c4b7a Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 06 八月 2024 10:13:18 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java |   91 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 76 insertions(+), 15 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 4b0f319..3b5f8c3 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
@@ -14,10 +14,13 @@
 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>
@@ -80,22 +83,50 @@
         wrapper6.eq(GoodsGroupPurchaseInfo::getMubre,goodsGroupPurchaseInfo.getMubre());
         GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoServiceImpl.getOne(wrapper6);
        int i=one1.getCurrentNumber()-1;
-       if (i==0){
-           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);
-           if (one1.getGroupSize()>one1.getCurrentNumber()){
-               one1.setGroupStatus(0);
+       if (one1.getIsPurchase()==0){
+           if (i==0){
+               GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId());
+               int i1 = byId.getLimitNumber() * goodsGroupPurchaseInfo.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);
+               goodsGroupPurchaseInfoServiceImpl.updateById(one1);
            }
-           goodsGroupPurchaseInfoServiceImpl.updateById(one1);
+       }else{
+           if (i==0){
+               GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId());
+
+               GoodsSku goodsSku = goodsSkuMapper.selectById(byId.getGoodsSkuId());
+               int i2 = goodsGroupPurchaseInfo.getPurchaseNum() + goodsSku.getStock();
+               goodsSku.setStock(i2);
+               goodsSkuMapper.updateById(goodsSku);
+            /*   goodsGroupPurchaseInfoServiceImpl.removeById(one1);*/
+           }else{
+               one1.setCurrentNumber(i);
+               if (one1.getGroupSize()>one1.getCurrentNumber()){
+                   one1.setGroupStatus(0);
+               }
+
+               Integer i3= one1.getPurchaseNum()-goodsGroupPurchaseInfo.getPurchaseNum();
+               one1.setPurchaseNum(i3);
+               goodsGroupPurchaseInfoServiceImpl.updateById(one1);
+
+               GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId());
+
+               GoodsSku goodsSku = goodsSkuMapper.selectById(byId.getGoodsSkuId());
+               int i2 = goodsGroupPurchaseInfo.getPurchaseNum() + goodsSku.getStock();
+               goodsSku.setStock(i2);
+               goodsSkuMapper.updateById(goodsSku);
+             /*  goodsGroupPurchaseInfoServiceImpl.removeById(one1);*/
+
+               goodsGroupPurchaseInfoServiceImpl.updateById(one1);
+           }
        }
+
 
         return R.ok(one1);
     }
@@ -107,17 +138,47 @@
                  GoodsGroupPurchaseInfo byId = goodsGroupPurchaseInfoServiceImpl.getById(goodsGroupPurchaseInfo.getId());
                  Integer num= byId.getCurrentNumber()+1;
                  byId.setCurrentNumber(num);
+                 byId.setPurchaseNum(goodsGroupPurchaseInfo.getPurchaseNum());
+                 goodsGroupPurchaseInfoServiceImpl.updateById(byId);
                  if (num==byId.getGroupSize()){
                      byId.setGroupStatus(1);
+                     byId.setIsPurchase(1);
+                     goodsGroupPurchaseInfoServiceImpl.updateById(byId);
                      orderClient.updateOrderStatusByMubres1(byId.getMubre(), SecurityConstants.INNER);
+
+                     GoodsGroupPurchaseInfo byIds = goodsGroupPurchaseInfoServiceImpl.getById(goodsGroupPurchaseInfo.getId());
+                     GoodsGroupPurchase byId1 = goodsGroupPurchaseService.getById(byId.getGroupPurchaseId());
+                     int i1 = byId1.getLimitNumber() * byId.getGroupSize();
+                     if (byIds.getPurchaseNum()<i1){
+                         int i3=i1-byIds.getPurchaseNum();
+                         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);
+                     goodsGroupPurchaseInfo.setIsPurchase(1);
                      orderClient.updateOrderStatusByMubres1(goodsGroupPurchaseInfo.getMubre(), SecurityConstants.INNER);
                  }
                  goodsGroupPurchaseInfoServiceImpl.save(goodsGroupPurchaseInfo);
+                 if (goodsGroupPurchaseInfo.getCurrentNumber()==goodsGroupPurchaseInfo.getGroupSize()) {
+
+
+                     GoodsGroupPurchase byId1 = goodsGroupPurchaseService.getById(goodsGroupPurchaseInfo.getGroupPurchaseId());
+                     int i1 = byId1.getLimitNumber() * goodsGroupPurchaseInfo.getGroupSize();
+                     if (goodsGroupPurchaseInfo.getPurchaseNum() < i1) {
+                         int i3 = i1 - goodsGroupPurchaseInfo.getPurchaseNum();
+                         GoodsSku goodsSku = goodsSkuMapper.selectById(byId1.getGoodsSkuId());
+                         int i2 = i3 + goodsSku.getStock();
+                         goodsSku.setStock(i2);
+                         goodsSkuMapper.updateById(goodsSku);
+                     }
+                 }
              }
 
         return R.ok();

--
Gitblit v1.7.1