mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
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();