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 | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 168 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 373ceb6..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 @@ -1,16 +1,26 @@ 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.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.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * <p> @@ -28,6 +38,129 @@ private final IGoodsGroupPurchaseService goodsGroupPurchaseService; + private final GoodsGroupPurchaseInfoServiceImpl goodsGroupPurchaseInfoServiceImpl; + + private final OrderClient orderClient; + + private final GoodsSkuMapper goodsSkuMapper; + + @InnerAuth + @PostMapping("/getGoodsSeckiGoodsGroupPurchaseOne") + 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 (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); + } + goodsGroupPurchaseInfoServiceImpl.updateById(one1); + } + + return R.ok(one1); + } + + @InnerAuth + @PostMapping("/updgoodsGroupPurchaseInfo") + public R getGoodsSeckiGoodsGroupPurchaseInfo(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo) { + if (goodsGroupPurchaseInfo.getId()!=null){ + GoodsGroupPurchaseInfo byId = goodsGroupPurchaseInfoServiceImpl.getById(goodsGroupPurchaseInfo.getId()); + Integer num= byId.getCurrentNumber()+1; + byId.setCurrentNumber(num); + 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(); + } + + /** * 团购商品开始团购 * @@ -45,6 +178,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(); + } + + /** * 团购商品结束团购 * -- Gitblit v1.7.1