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