From f44e4d609e7efaed9eac545137970b1e334f8106 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 21 九月 2024 09:01:36 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 205 insertions(+), 4 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 08c79fa..2fdfad9 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 @@ -1,14 +1,29 @@ package com.ruoyi.goods.controller.inner; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.fasterxml.jackson.core.JsonProcessingException; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; -import com.ruoyi.system.api.domain.GoodsGroupPurchase; +import com.ruoyi.goods.mapper.GoodsSkuMapper; import com.ruoyi.goods.service.IGoodsGroupPurchaseService; +import com.ruoyi.goods.service.impl.GoodsGroupPurchaseInfoServiceImpl; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo; +import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.feignClient.OrderClient; +import java.util.List; +import java.util.Set; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -26,13 +41,156 @@ private final IGoodsGroupPurchaseService goodsGroupPurchaseService; + private final GoodsGroupPurchaseInfoServiceImpl goodsGroupPurchaseInfoServiceImpl; + + private final OrderClient orderClient; + + private final GoodsSkuMapper goodsSkuMapper; + @InnerAuth @PostMapping("/getGoodsSeckiGoodsGroupPurchaseOne") - @ResponseBody - public R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Integer goodsSkuId) { + public R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Long goodsSkuId) { GoodsGroupPurchase GoodsSeckillOne = goodsGroupPurchaseService.getById(goodsSkuId); return R.ok(GoodsSeckillOne); } + + + @InnerAuth + @PostMapping("/getGoodsSeckiGoodsGroupPurchaseInfo") + public R<GoodsGroupPurchaseInfo> getGoodsSeckiGoodsGroupPurchaseInfo(@RequestBody Long goodsSkuId) { + LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6= Wrappers.lambdaQuery(); + wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag,0); + wrapper6.eq(GoodsGroupPurchaseInfo::getGroupStatus,0); + wrapper6.eq(GoodsGroupPurchaseInfo::getGroupPurchaseId,goodsSkuId); + GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoServiceImpl.getOne(wrapper6); + + return R.ok(one1); + } + + @InnerAuth + @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 (one1.getIsPurchase()==0){ + if (i==0){ + GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId()); + // int i1 = byId.getLimitNumber() * goodsGroupPurchaseInfo.getGroupSize(); + int i1 = one1.getPurchaseNum(); + GoodsSku goodsSku = goodsSkuMapper.selectById(byId.getGoodsSkuId()); + int i2 = i1 + goodsSku.getStock(); + goodsSku.setStock(i2); + goodsSkuMapper.updateById(goodsSku); + /* goodsGroupPurchaseInfoServiceImpl.removeById(one1);*/ + } + one1.setCurrentNumber(i); + one1.setPurchaseNum(0); + 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); + } + + @InnerAuth + @PostMapping("/updgoodsGroupPurchaseInfo") + public R getGoodsSeckiGoodsGroupPurchaseInfo(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo) { + log.info("getGoodsSeckiGoodsGroupPurchaseInfo==============》{}", goodsGroupPurchaseInfo); + if (goodsGroupPurchaseInfo.getId()!=null){ + log.info("========================已有待成团========================"); + 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); + } + + } + + }else{ + log.info("===================没有待成团的团购==================="); + 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(); + } + /** * 团购商品开始团购 @@ -51,6 +209,37 @@ return R.ok(); } + @InnerAuth + @GetMapping("/num/{groupPurchaseId}") + R<?> GroupPurchaseNum(@PathVariable("groupPurchaseId") Long groupPurchaseId) { + try { + GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(groupPurchaseId); + Integer m= byId.getCurrentNumber()+1; + byId.setCurrentNumber(m); + goodsGroupPurchaseService.updateById(byId); + } catch (Exception e) { + log.error("团购商品开始团购失败", e); + return R.fail("团购商品开始团购失败"); + } + return R.ok(); + } + + @InnerAuth + @GetMapping("/num1/{groupPurchaseId}") + R<?> GroupPurchaseNum1(@PathVariable("groupPurchaseId") Long groupPurchaseId) { + try { + GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(groupPurchaseId); + Integer m= byId.getCurrentNumber()-1; + byId.setCurrentNumber(m); + goodsGroupPurchaseService.updateById(byId); + } catch (Exception e) { + log.error("团购商品开始团购失败", e); + return R.fail("团购商品开始团购失败"); + } + return R.ok(); + } + + /** * 团购商品结束团购 * @@ -67,4 +256,16 @@ } return R.ok(); } + + /** + * 根据团购商品id集合查询商品sku信息 + * + * @param groupPurchaseIdSet + * @return + */ + @InnerAuth + @PostMapping("/getGoodsSkuByGroupPurchaseIdSet") + R<List<GoodsSku>> getGoodsSkuByGroupPurchaseIdSet(@RequestBody Set<Long> groupPurchaseIdSet) { + return R.ok(goodsGroupPurchaseService.getGoodsSkuByGroupPurchaseIdSet(groupPurchaseIdSet)); + } } -- Gitblit v1.7.1