From 649d6ffd287347eee7f3ad036271ad6a8a8a508b Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 27 五月 2024 19:29:23 +0800 Subject: [PATCH] 1.提交【管理后台】拍卖管理 拍卖商品管理接口 2.保证金关系表基础代码 --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java | 14 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java | 15 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java | 10 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MemberBondController.java | 19 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java | 4 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java | 35 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 7 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java | 10 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberBond.java | 70 +++++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java | 11 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java | 8 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java | 4 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 38 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java | 11 ruoyi-modules/ruoyi-auction/pom.xml | 6 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/Region.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java | 17 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java | 5 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberPointsService.java | 4 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java | 27 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java | 39 ++ ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 118 +++++++ ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java | 22 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberBondMapper.java | 16 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java | 32 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java | 11 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java | 6 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java | 5 ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberBondMapper.xml | 5 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/PromotionFallbackFactory.java | 4 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java | 16 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberPointsController.java | 7 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java | 10 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberBondController.java | 19 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java | 1 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java | 38 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberBondService.java | 16 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java | 9 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java | 17 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java | 3 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberBondServiceImpl.java | 20 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java | 15 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 4 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberLevel.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/DelayTaskController.java | 4 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java | 30 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java | 29 + 54 files changed, 690 insertions(+), 139 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java index 9acde0b..9621c2f 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java @@ -10,6 +10,7 @@ import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.PathVariable; + @Component public class GoodsSkuFactory implements FallbackFactory<GoodsSkuClient> { @@ -18,44 +19,56 @@ public GoodsSkuClient create(Throwable cause) { return new GoodsSkuClient(){ @Override - public R<GoodsSku> getGoodsSkuOne(@PathVariable("goodsSkuId") Long goodsSkuId) { + public R<GoodsSku> getGoodsSkuOne(@PathVariable("goodsSkuId") Long goodsSkuId, + String source) { return R.fail("通过id查询商品失败:" + cause.getMessage()); } @Override - public R<GoodsSeckill> getGoodsSeckillOne(Long goodsSkuId) { + public R<GoodsSeckill> getGoodsSeckillOne(Long goodsSkuId, String source) { return R.fail("通过id查询秒杀商品失败:" + cause.getMessage()); } @Override - public R<Boolean> updateGoodsSkuOne(GoodsSku goodsSku) { + public R<Boolean> updateGoodsSkuOne(GoodsSku goodsSku, String source) { return R.fail("更新商品失败:" + cause.getMessage()); } @Override - public R<?> startSeckill(Long seckillId) { + public R<?> startSeckill(Long seckillId, String source) { return R.fail("开始秒杀失败:" + cause.getMessage()); } @Override - public R<?> endSeckill(Long seckillId) { + public R<?> endSeckill(Long seckillId, String source) { return R.fail("结束秒杀失败:" + cause.getMessage()); } @Override - public R<?> startGroupPurchase(Long groupPurchaseId) { + public R<?> startGroupPurchase(Long groupPurchaseId, String source) { return R.fail("开始团购失败:" + cause.getMessage()); } @Override - public R<?> endGroupPurchase(Long groupPurchaseId) { + public R<?> endGroupPurchase(Long groupPurchaseId, String source) { return R.fail("结束团购失败:" + cause.getMessage()); } @Override - public R<List<GoodsSku>> getGoodsByName(String goodsSkuName) { + public R<List<GoodsSku>> getGoodsByName(String goodsSkuName, String source) { return R.fail("根据商品名称获取商品SKU列表失败:" + cause.getMessage()); } + + @Override + public R<?> deductStock(Long goodsSkuId, Integer auctionStock, String source) { + return R.fail("扣减商品库存失败:" + cause.getMessage()); + } + + @Override + public R<?> returningStock(Long goodsSkuId, Integer auctionStock, String source) { + return R.fail("回退商品库存失败:" + cause.getMessage()); + } + }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java index dc7b7ba..ffd256c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java @@ -18,12 +18,12 @@ return new MemberClient(){ @Override - public R<MemberAddress> getMemberAddressOne(Long userId) { + public R<MemberAddress> getMemberAddressOne(Long userId, String source) { return R.fail("通过用户地址失败:" + cause.getMessage()); } @Override - public R<Member> getMembeOne(Long userId) { + public R<Member> getMembeOne(Long userId, String source) { return R.fail("获取用户失败:" + cause.getMessage()); } }; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java index a6975ef..402d94d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java @@ -20,26 +20,27 @@ @Override - public R<Boolean> saveOrderOne(OrderDTO orderDTO) { + public R<Boolean> saveOrderOne(OrderDTO orderDTO, String source) { return R.fail("通过视频集合查询用户失败:" + cause.getMessage()); } @Override - public R<Boolean> getOrderAuctionBond(OrderAuctionBondDTO orderAuctionBondDTO) { + public R<Boolean> getOrderAuctionBond(OrderAuctionBondDTO orderAuctionBondDTO, + String source) { return R.fail("通过视频集合查询用户失败:" + cause.getMessage()); } @Override - public R<Integer> getSeckillMembers(Long id) { + public R<Integer> getSeckillMembers(Long id, String source) { return R.fail("获取秒杀商品已购会员数失败:" + cause.getMessage()); } @Override - public R<Integer> getGroupPurchasesGoodsNum(Long id) { + public R<Integer> getGroupPurchasesGoodsNum(Long id, String source) { return R.fail("获取团购商品已购数量失败:" + cause.getMessage()); } @Override - public R<List<Order>> getOrderByGroupPurchaseId(Long id) { + public R<List<Order>> getOrderByGroupPurchaseId(Long id, String source) { return R.fail("根据团购商品id获取订单列表失败:" + cause.getMessage()); } }; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/PromotionFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/PromotionFallbackFactory.java index f767b8a..dd52a19 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/PromotionFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/PromotionFallbackFactory.java @@ -16,11 +16,11 @@ public PromotionClient create(Throwable cause) { return new PromotionClient(){ @Override - public R<List<PromotionVideo>> getPromotionVideoList() { + public R<List<PromotionVideo>> getPromotionVideoList(String source) { return R.fail("通过视频集合查询用户失败:" + cause.getMessage()); } @Override - public R<PromotionVideo> getPromotionVideoOne(Long promotionVideoId) { + public R<PromotionVideo> getPromotionVideoOne(Long promotionVideoId, String source) { return R.fail("获取视频信息失败:" + cause.getMessage()); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java index 003cddc..0deabfe 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java @@ -64,17 +64,17 @@ } @Override - public R<DelayTask> getDelayTask(String key) { + public R<DelayTask> getDelayTask(String key, String source) { return R.fail("获取延时任务失败:" + cause.getMessage()); } @Override - public R<?> addDelayTask(DelayTask delayTask) { + public R<?> addDelayTask(DelayTask delayTask, String source) { return R.fail("添加延时任务失败:" + cause.getMessage()); } @Override - public R<?> deleteDelayTask(String key) { + public R<?> deleteDelayTask(String key, String source) { return R.fail("删除延时任务失败:" + cause.getMessage()); } }; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java index d423970..6afe181 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java @@ -1,5 +1,6 @@ package com.ruoyi.system.api.feignClient; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.GoodsSeckill; @@ -10,7 +11,10 @@ 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.PutMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; ; @@ -19,27 +23,44 @@ @PostMapping("/goods-sku/getGoodsSkuOne") - R<GoodsSku> getGoodsSkuOne(@RequestBody Long goodsSkuId); + R<GoodsSku> getGoodsSkuOne(@RequestBody Long goodsSkuId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/goods-seckill/getGoodsSeckillOne") - R<GoodsSeckill> getGoodsSeckillOne(@RequestBody Long goodsSkuId); - + R<GoodsSeckill> getGoodsSeckillOne(@RequestBody Long goodsSkuId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/goods-sku/updateGoodsSkuOne") - R<Boolean> updateGoodsSkuOne(@RequestBody GoodsSku goodsSku); + R<Boolean> updateGoodsSkuOne(@RequestBody GoodsSku goodsSku, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/goods-seckill/start/{seckillId}") - R<?> startSeckill(@PathVariable("seckillId") Long seckillId); + R<?> startSeckill(@PathVariable("seckillId") Long seckillId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/goods-seckill/end/{seckillId}") - R<?> endSeckill(@PathVariable("seckillId") Long seckillId); + R<?> endSeckill(@PathVariable("seckillId") Long seckillId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/goods-group-purchase/start/{groupPurchaseId}") - R<?> startGroupPurchase(@PathVariable("groupPurchaseId") Long groupPurchaseId); + R<?> startGroupPurchase(@PathVariable("groupPurchaseId") Long groupPurchaseId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/goods-group-purchase/end/{groupPurchaseId}") - R<?> endGroupPurchase(@PathVariable("groupPurchaseId") Long groupPurchaseId); + R<?> endGroupPurchase(@PathVariable("groupPurchaseId") Long groupPurchaseId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/goods-sku/name/{goodsSkuName}") - R<List<GoodsSku>> getGoodsByName(@PathVariable("goodsSkuName") String goodsSkuName); + R<List<GoodsSku>> getGoodsByName(@PathVariable("goodsSkuName") String goodsSkuName, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PutMapping("/goods-sku/deduct-stock") + R<?> deductStock(@RequestParam("goodsSkuId") Long goodsSkuId, + @RequestParam("auctionStock") Integer auctionStock, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PutMapping("/goods-sku/returning-stock") + R<?> returningStock(@RequestParam("goodsSkuId") Long goodsSkuId, + @RequestParam("auctionStock") Integer auctionStock, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java index 33fe3ab..2055777 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java @@ -1,21 +1,31 @@ package com.ruoyi.system.api.feignClient; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.MemberAddress; import com.ruoyi.system.api.factory.MemberFallbackFactory; +import java.util.List; +import java.util.Set; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; @FeignClient(contextId = "memberClient", value = ServiceNameConstants.RUOYI_MEMBER, fallbackFactory = MemberFallbackFactory.class) public interface MemberClient { @PostMapping("/member-address/getMemberAddressOne") - R<MemberAddress> getMemberAddressOne(@RequestBody Long userId); + R<MemberAddress> getMemberAddressOne(@RequestBody Long userId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/member/getMembeOne") - R<Member> getMembeOne(@RequestBody Long userId); + R<Member> getMembeOne(@RequestBody Long userId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + @PostMapping("/member/list-by-ids") + R<List<Member>> getMemberListByIds(@RequestParam("memberIdList") Set<Long> memberIdList, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java index 4895905..fe80090 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java @@ -1,5 +1,6 @@ package com.ruoyi.system.api.feignClient; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.Order; @@ -12,16 +13,19 @@ 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.RequestHeader; @FeignClient(contextId = "orderClient", value = ServiceNameConstants.RUOYI_ORDER, fallbackFactory = OrderFallbackFactory.class) public interface OrderClient { @PostMapping("/order/saveOrderOne") - R<Boolean> saveOrderOne(@RequestBody OrderDTO orderDTO); + R<Boolean> saveOrderOne(@RequestBody OrderDTO orderDTO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/order-auction-bond/getOrderAuctionBond") - R<Boolean> getOrderAuctionBond(@RequestBody OrderAuctionBondDTO orderAuctionBondDTO); + R<Boolean> getOrderAuctionBond(@RequestBody OrderAuctionBondDTO orderAuctionBondDTO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 获取某个商品的已购会员数 @@ -30,7 +34,8 @@ * @return 已购会员数 */ @GetMapping("/order/seckill-members/{id}") - R<Integer> getSeckillMembers(@PathVariable("id") Long id); + R<Integer> getSeckillMembers(@PathVariable("id") Long id, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 获取团购商品已购数量 @@ -39,7 +44,8 @@ * @return 团购商品已购数量 */ @GetMapping("/order/group-purchase-num/{id}") - R<Integer> getGroupPurchasesGoodsNum(@PathVariable("id") Long id); + R<Integer> getGroupPurchasesGoodsNum(@PathVariable("id") Long id, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 根据团购商品id获取订单列表 @@ -48,5 +54,6 @@ * @return List<Order> 订单列表 */ @GetMapping("/order/group-purchase-id/{id}") - R<List<Order>> getOrderByGroupPurchaseId(@PathVariable("id") Long id); + R<List<Order>> getOrderByGroupPurchaseId(@PathVariable("id") Long id, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java index 7f5eb26..8da0277 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java @@ -1,22 +1,25 @@ package com.ruoyi.system.api.feignClient; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.PromotionVideo; import com.ruoyi.system.api.factory.PromotionFallbackFactory; +import java.util.List; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; - -import java.util.List; +import org.springframework.web.bind.annotation.RequestHeader; @FeignClient(contextId = "promotionClient", value = ServiceNameConstants.RUOYI_PROMOTION, fallbackFactory = PromotionFallbackFactory.class) public interface PromotionClient { @PostMapping("/promotion-video/getPromotionVideoList") - R<List<PromotionVideo>> getPromotionVideoList(); + R<List<PromotionVideo>> getPromotionVideoList( + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/promotion-video/getPromotionVideoOne") - R<PromotionVideo> getPromotionVideoOne(Long promotionVideoId); + R<PromotionVideo> getPromotionVideoOne(Long promotionVideoId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java index d66763d..d6392fd 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java @@ -1,5 +1,6 @@ package com.ruoyi.system.api.feignClient; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.DelayTask; @@ -12,6 +13,7 @@ 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.RequestHeader; @FeignClient(contextId = "sysUserClient", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = SysUserFallbackFactory.class) public interface SysUserClient { @@ -75,12 +77,15 @@ /** * 延时任务控制 */ - @PostMapping("/config/getDelayTask") - public R<DelayTask> getDelayTask(@RequestBody String key); + @PostMapping("/delay-task/getDelayTask") + public R<DelayTask> getDelayTask(@RequestBody String key, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - @PostMapping("/config/addDelayTask") - public R<?> addDelayTask(@RequestBody DelayTask delayTask); + @PostMapping("/delay-task/addDelayTask") + public R<?> addDelayTask(@RequestBody DelayTask delayTask, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - @PostMapping("/config/deleteDelayTask") - public R<?> deleteDelayTask(@RequestBody String key); + @PostMapping("/delay-task/deleteDelayTask") + public R<?> deleteDelayTask(@RequestBody String key, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java index e0db56b..746c512 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java @@ -11,23 +11,21 @@ import com.ruoyi.article.service.IArticleCommentsService; import com.ruoyi.article.service.IArticleService; import com.ruoyi.article.vo.ArticleCommentsVO; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.ArticleTypeEnum; import com.ruoyi.common.core.enums.AuditStatusEnum; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.Member; -import com.ruoyi.system.api.domain.MemberAddress; import com.ruoyi.system.api.feignClient.MemberClient; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import util.HuaWeiOBSUtil; - -import javax.annotation.Resource; -import org.springframework.stereotype.Service; import java.io.IOException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import util.HuaWeiOBSUtil; /** * <p> @@ -139,7 +137,8 @@ @Override public void getReport(ArticleDTO articleDTO) { Article article= articleService.getById(articleDTO.getId()); - R<Member> membeOne = emberClient.getMembeOne(articleDTO.getMemberId()); + R<Member> membeOne = emberClient.getMembeOne(articleDTO.getMemberId(), + SecurityConstants.INNER); Member data = membeOne.getData(); article.setReportBy(data.getNickname()); article.setReportedTime(LocalDateTime.now()); diff --git a/ruoyi-modules/ruoyi-auction/pom.xml b/ruoyi-modules/ruoyi-auction/pom.xml index 8f94805..93abed0 100644 --- a/ruoyi-modules/ruoyi-auction/pom.xml +++ b/ruoyi-modules/ruoyi-auction/pom.xml @@ -112,7 +112,11 @@ </exclusion> </exclusions> </dependency> - + <!-- 分布式事务 --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-seata</artifactId> + </dependency> </dependencies> <build> diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberBondController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberBondController.java new file mode 100644 index 0000000..9b0213c --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberBondController.java @@ -0,0 +1,19 @@ +package com.ruoyi.auction.controller.forepart; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 前端控制器 + * </p> + * + * @author mitao + * @since 2024-05-27 + */ +@RestController +@RequestMapping("/member-bond") +public class MemberBondController { + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MemberBondController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MemberBondController.java new file mode 100644 index 0000000..61067d2 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MemberBondController.java @@ -0,0 +1,19 @@ +package com.ruoyi.auction.controller.management; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 前端控制器 + * </p> + * + * @author mitao + * @since 2024-05-27 + */ +@RestController +@RequestMapping("/mgt/member-bond") +public class MemberBondController { + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java index a3c23a3..c9bf4ca 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java @@ -11,7 +11,10 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; +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.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -45,10 +48,34 @@ return R.ok(auctionGoodsService.getAuctionGoodsPage(query)); } + /** + * 查看详情 + * + * @param id 拍卖商品id + * @return AuctionGoodsVO + */ + @ApiOperation(value = "查看详情", notes = "查看详情") + @GetMapping("/{id}") + public R<AuctionGoodsVO> getAuctionGoods(@PathVariable("id") Long id) { + return R.ok(auctionGoodsService.getAuctionGoodsById(id)); + } + + /** + * 添加/编辑 拍卖商品 + * + * @param dto 拍卖商品数据传输对象 + */ @ApiOperation(value = "添加/编辑 拍卖商品", notes = "添加/编辑 拍卖商品") @PostMapping("/save") public R<?> saveAuctionGoods(@Validated @RequestBody AuctionGoodsDTO dto) { auctionGoodsService.saveAuctionGoods(dto); return R.ok(); } + + @ApiOperation("立即结束") + @PutMapping("/stop/{id}") + public R<?> stopAuctionGoods(@PathVariable("id") Long id) { + auctionGoodsService.stopAuctionGoods(id); + return R.ok(); + } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java new file mode 100644 index 0000000..040d35b --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java @@ -0,0 +1,38 @@ +package com.ruoyi.auction.controller.management.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import lombok.Data; + +/** + * @author mitao + * @date 2024/5/27 + */ +@Data +@ApiModel("拍卖商品出价视图对象") +public class AuctionBidRecordVO implements Serializable { + + private static final long serialVersionUID = 8479130955196893180L; + + @ApiModelProperty(value = "出价记录id") + private Long id; + + @ApiModelProperty(value = "会员id") + private Long memberId; + + @ApiModelProperty(value = "会员名称") + private String memberName; + + @ApiModelProperty(value = "商品名称") + private String goodsSkuName; + + @ApiModelProperty(value = "最终出价时间") + private LocalDateTime lastBidTime; + + @ApiModelProperty(value = "最终出价金额") + private BigDecimal lastBidAmount; + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java index 469806e..a3acdc1 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java @@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import lombok.Data; /** @@ -58,4 +59,6 @@ @ApiModelProperty(value = "开始状态 0=预展中 1=拍卖中 2=已结束") private AuctionStartStatusEnum startStatus; + @ApiModelProperty(value = "出价记录") + private List<AuctionBidRecordVO> recordList; } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberBond.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberBond.java new file mode 100644 index 0000000..39ad0e5 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberBond.java @@ -0,0 +1,70 @@ +package com.ruoyi.auction.domain; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * + * </p> + * + * @author mitao + * @since 2024-05-27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_member_bond") +@ApiModel(value="MemberBond对象", description="") +public class MemberBond implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键id") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "会员id") + private Long memberId; + + @ApiModelProperty(value = "拍卖商品id") + private Long auctionGoodsId; + + @ApiModelProperty(value = "拍卖会id") + private Long auctionRoomId; + + @ApiModelProperty(value = "保证金") + private BigDecimal bond; + + @ApiModelProperty(value = "保证金类型1=普通拍品 2=拍卖会") + private Integer bondType; + + @ApiModelProperty(value = "是否退保证金 0=是 1=否") + private Integer returned; + + @ApiModelProperty(value = "创建者") + private String createBy; + + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + + @ApiModelProperty(value = "更新者") + private String updateBy; + + @ApiModelProperty(value = "更新时间") + private LocalDateTime updateTime; + + @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") + private Integer delFlag; + + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberBondMapper.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberBondMapper.java new file mode 100644 index 0000000..43f786f --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberBondMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.auction.mapper; + +import com.ruoyi.auction.domain.MemberBond; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author mitao + * @since 2024-05-27 + */ +public interface MemberBondMapper extends BaseMapper<MemberBond> { + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java index 8eed0d9..a6c1bad 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java @@ -24,5 +24,20 @@ */ PageDTO<AuctionGoodsVO> getAuctionGoodsPage(AuctionGoodsQuery query); + /** + * 添加/编辑 拍卖商品 + * + * @param dto 拍卖商品数据传输对象 + */ void saveAuctionGoods(AuctionGoodsDTO dto); + + /** + * 查看拍卖商品详情 + * + * @param id 拍卖商品id + * @return AuctionGoodsVO + */ + AuctionGoodsVO getAuctionGoodsById(Long id); + + void stopAuctionGoods(Long id); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberBondService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberBondService.java new file mode 100644 index 0000000..a4b33fc --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberBondService.java @@ -0,0 +1,16 @@ +package com.ruoyi.auction.service; + +import com.ruoyi.auction.domain.MemberBond; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 服务类 + * </p> + * + * @author mitao + * @since 2024-05-27 + */ +public interface IMemberBondService extends IService<MemberBond> { + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java index 53eacf6..8c1c8df 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java @@ -4,24 +4,32 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO; import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery; +import com.ruoyi.auction.controller.management.vo.AuctionBidRecordVO; import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO; +import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionGoods; import com.ruoyi.auction.mapper.AuctionGoodsMapper; +import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionGoodsService; +import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.enums.AuctionStartStatusEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.MemberClient; +import io.seata.spring.annotation.GlobalTransactional; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -36,9 +44,9 @@ @RequiredArgsConstructor public class AuctionGoodsServiceImpl extends ServiceImpl<AuctionGoodsMapper, AuctionGoods> implements IAuctionGoodsService { - @Resource - private GoodsSkuClient goodsSkuClient; - + private final GoodsSkuClient goodsSkuClient; + private final IAuctionBidRecordService auctionBidRecordService; + private final MemberClient memberClient; /** * 获取拍卖商品列表的分页数据 * @@ -49,7 +57,8 @@ public PageDTO<AuctionGoodsVO> getAuctionGoodsPage(AuctionGoodsQuery query) { Set<Long> goodsSkuIdList = null; if (StringUtils.isNotEmpty(query.getGoodsSkuName())) { - List<GoodsSku> goodsSku = goodsSkuClient.getGoodsByName(query.getGoodsSkuName()) + List<GoodsSku> goodsSku = goodsSkuClient.getGoodsByName(query.getGoodsSkuName(), + SecurityConstants.INNER) .getData(); goodsSkuIdList = goodsSku.stream().map(GoodsSku::getId) .collect(Collectors.toSet()); @@ -71,24 +80,113 @@ } @Override + @GlobalTransactional(rollbackFor = Exception.class) + @Transactional public void saveAuctionGoods(AuctionGoodsDTO dto) { Long id = dto.getId(); Long goodsSkuId = dto.getGoodsSkuId(); + AuctionGoods auctionGoods = BeanUtils.copyBean(dto, AuctionGoods.class); // 添加 if (StringUtils.isNull(id)) { if (StringUtils.isNull(goodsSkuId)) { throw new ServiceException("商品id不能为空"); } - GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(goodsSkuId).getData(); + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(goodsSkuId, SecurityConstants.INNER) + .getData(); if (StringUtils.isNull(goodsSku)) { throw new ServiceException("商品不存在"); } - AuctionGoods auctionGoods = BeanUtils.copyBean(dto, AuctionGoods.class); + if (goodsSku.getStock() < dto.getAuctionStock()) { + throw new ServiceException("商品库存不足"); + } this.save(auctionGoods); - + // 扣减商品库存 + goodsSkuClient.deductStock(goodsSkuId, dto.getAuctionStock(), SecurityConstants.INNER); } else { // 编辑 - + AuctionGoods auctionGoodsOrg = this.getById(id); + if (StringUtils.isNull(auctionGoodsOrg)) { + throw new ServiceException("拍卖商品不存在"); + } + if (auctionGoodsOrg.getStartStatus().equals(AuctionStartStatusEnum.IN_AUCTION)) { + throw new ServiceException("该商品正在拍卖中,不能修改"); + } + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(goodsSkuId, SecurityConstants.INNER) + .getData(); + if (StringUtils.isNull(goodsSku)) { + throw new ServiceException("商品不存在"); + } + if (goodsSku.getStock() + auctionGoodsOrg.getAuctionStock() < dto.getAuctionStock()) { + throw new ServiceException("商品库存不足"); + } + // 编辑商品时需要先回退商品库存,再扣减最新的商品库存 + goodsSkuClient.returningStock(auctionGoodsOrg.getGoodsSkuId(), + auctionGoodsOrg.getAuctionStock(), SecurityConstants.INNER); + auctionGoodsOrg.setStartingPrice(dto.getStartingPrice()); + auctionGoodsOrg.setMinimumMarkupAmount(dto.getMinimumMarkupAmount()); + auctionGoodsOrg.setStartTime(dto.getStartTime()); + auctionGoodsOrg.setEndTime(dto.getEndTime()); + auctionGoodsOrg.setAuctionStock(dto.getAuctionStock()); + auctionGoodsOrg.setBond(dto.getBond()); + auctionGoodsOrg.setAuthentication(dto.getAuthentication()); + auctionGoodsOrg.setDescription(dto.getDescription()); + auctionGoodsOrg.setShareTitle(dto.getShareTitle()); + auctionGoodsOrg.setSharePic(dto.getSharePic()); + this.updateById(auctionGoodsOrg); + // 扣减库存 + goodsSkuClient.deductStock(auctionGoodsOrg.getGoodsSkuId(), + auctionGoodsOrg.getAuctionStock(), SecurityConstants.INNER); } } + + /** + * 查看拍卖商品详情 + * + * @param id 拍卖商品id + * @return AuctionGoodsVO + */ + @Override + public AuctionGoodsVO getAuctionGoodsById(Long id) { + AuctionGoods auctionGoods = this.getById(id); + if (StringUtils.isNull(auctionGoods)) { + throw new ServiceException("拍卖商品不存在"); + } + AuctionGoodsVO auctionGoodsVO = BeanUtils.copyBean(auctionGoods, AuctionGoodsVO.class); + if (!auctionGoods.getStartStatus().equals(AuctionStartStatusEnum.IN_PREVIEW)) { + List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() + .eq(AuctionBidRecord::getGoodsSkuId, auctionGoods.getGoodsSkuId()) + .orderByDesc(AuctionBidRecord::getLastBidAmount).list(); + if (StringUtils.isNotEmpty(list)) { + Set<Long> collect = list.stream().map(AuctionBidRecord::getMemberId) + .collect(Collectors.toSet()); + List<Member> memberList = memberClient. + getMemberListByIds(collect, SecurityConstants.INNER).getData(); + Map<Long, String> memberMap = memberList.stream() + .collect(Collectors.toMap(Member::getId, Member::getNickname)); + List<AuctionBidRecordVO> auctionBidRecordVOS = BeanUtils.copyList(list, + AuctionBidRecordVO.class); + for (AuctionBidRecordVO vo : auctionBidRecordVOS) { + String memberName = memberMap.get(vo.getMemberId()); + vo.setMemberName(StringUtils.isNotEmpty(memberName) ? memberName : ""); + } + auctionGoodsVO.setRecordList(auctionBidRecordVOS); + } + } + return auctionGoodsVO; + } + + /** + * 立即结束 + * + * @param id 拍卖商品id + */ + @Override + public void stopAuctionGoods(Long id) { + AuctionGoods auctionGoods = this.lambdaQuery().eq(AuctionGoods::getId, id) + .eq(AuctionGoods::getStartStatus, AuctionStartStatusEnum.IN_AUCTION).one(); + if (StringUtils.isNull(auctionGoods)) { + throw new ServiceException("拍卖商品不存在"); + } + + } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java index 98daca9..95e89ec 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java @@ -14,6 +14,7 @@ import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.auction.service.IAuctionSalesroomService; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.AuctionStartStatusEnum; @@ -103,7 +104,8 @@ forepartAuctionSalesroomGoodsVO.setItemQuantity(auctionSalesroomGoods.getItemQuantity()); forepartAuctionSalesroomGoodsVO.setListingDuration(auctionSalesroomGoods.getListingDuration()); forepartAuctionSalesroomGoodsVO.setStartTime(auctionSalesroomGoods.getStartTime()); - R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne(auctionSalesroomGoods.getGoodsSkuId()); + R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne( + auctionSalesroomGoods.getGoodsSkuId(), SecurityConstants.INNER); GoodsSku goodsSku=goodsSkuOne.getData(); forepartAuctionSalesroomGoodsVO.setCoverPic(goodsSku.getCoverPic()); forepartAuctionSalesroomGoodsVO.setDescription(goodsSku.getDescription()); @@ -150,7 +152,8 @@ List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper); for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO1=new ForepartAuctionSalesroomGoodsVO(); - R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne(salesroomGoods.getGoodsSkuId()); + R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne( + salesroomGoods.getGoodsSkuId(), SecurityConstants.INNER); GoodsSku goodsSku=goodsSkuOne.getData(); forepartAuctionSalesroomGoodsVO1.setGoodsSkuName(salesroomGoods.getGoodsSkuName()); forepartAuctionSalesroomGoodsVO1.setCoverPic(goodsSku.getCoverPic()); @@ -166,7 +169,8 @@ AuctionSalesroomGoods auctionSalesroomGoods= iAuctionSalesroomGoodsService.getOne(wrapper); ForepartAuctionSalesroomGoodsVO currentAuctionSalesroomGoods= new ForepartAuctionSalesroomGoodsVO(); currentAuctionSalesroomGoods.setGoodsSkuName(auctionSalesroomGoods.getGoodsSkuName()); - R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne(auctionSalesroomGoods.getGoodsSkuId()); + R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne( + auctionSalesroomGoods.getGoodsSkuId(), SecurityConstants.INNER); GoodsSku goodsSku=goodsSkuOne.getData(); currentAuctionSalesroomGoods.setCoverPic(goodsSku.getCoverPic()); auctionSalesroomVO.setCurrentAuctionSalesroomGoods(currentAuctionSalesroomGoods); @@ -182,7 +186,8 @@ if (auctionSalesroomGoods1!=null){ list.add(auctionSalesroomGoods.getSortNum()+1); nextAuctionSalesroomGoods.setNextGoodsSkuName(auctionSalesroomGoods1.getGoodsSkuName()); - R<GoodsSku> goodsSkuOne1 = goodsSkuClient.getGoodsSkuOne(auctionSalesroomGoods.getGoodsSkuId()); + R<GoodsSku> goodsSkuOne1 = goodsSkuClient.getGoodsSkuOne( + auctionSalesroomGoods.getGoodsSkuId(), SecurityConstants.INNER); GoodsSku goodsSku1=goodsSkuOne1.getData(); nextAuctionSalesroomGoods.setCoverPic(goodsSku1.getCoverPic()); auctionSalesroomVO.setNextAuctionSalesroomGoods(nextAuctionSalesroomGoods); @@ -196,7 +201,8 @@ List<AuctionSalesroomGoods> auctionSalesroomGoods2=iAuctionSalesroomGoodsService.list(wrapper2); for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods2){ ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO1=new ForepartAuctionSalesroomGoodsVO(); - R<GoodsSku> goodsSkuOne2 = goodsSkuClient.getGoodsSkuOne(salesroomGoods.getGoodsSkuId()); + R<GoodsSku> goodsSkuOne2 = goodsSkuClient.getGoodsSkuOne( + salesroomGoods.getGoodsSkuId(), SecurityConstants.INNER); GoodsSku goodsSku2=goodsSkuOne2.getData(); forepartAuctionSalesroomGoodsVO1.setGoodsSkuName(salesroomGoods.getGoodsSkuName()); forepartAuctionSalesroomGoodsVO1.setCoverPic(goodsSku2.getCoverPic()); @@ -275,7 +281,8 @@ OrderAuctionBondDTO orderAuctionBondDTO=new OrderAuctionBondDTO(); orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId()); orderAuctionBondDTO.setUserList(list); - orderClient.getOrderAuctionBond(orderAuctionBondDTO); + orderClient.getOrderAuctionBond(orderAuctionBondDTO, + SecurityConstants.INNER); } } @@ -368,7 +375,8 @@ order.setGoodsQuantity(1); order.setTotalAmount(lastBidAmount); - R<MemberAddress> memberAddressR=emberClient.getMemberAddressOne(memberId); + R<MemberAddress> memberAddressR = emberClient.getMemberAddressOne(memberId, + SecurityConstants.INNER); MemberAddress memberAddress=memberAddressR.getData(); order.setReceiverCity(memberAddress.getCity()); order.setReceiverDetailAddress(memberAddress.getDetailedAddress()); diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java index d5d6e4b..f216a42 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.auction.mapper.AuctionVideoMapper; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.auction.service.IAuctionVideoService; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.PromotionVideo; import com.ruoyi.system.api.feignClient.PromotionClient; @@ -42,7 +43,8 @@ */ @Override public List<PromotionVideo> getVoidList() { - R<List<PromotionVideo>> promotionVideoList=promotionClient.getPromotionVideoList(); + R<List<PromotionVideo>> promotionVideoList = promotionClient.getPromotionVideoList( + SecurityConstants.INNER); List<PromotionVideo> promotionVideos=promotionVideoList.getData(); return promotionVideos; } @@ -69,7 +71,9 @@ iAuctionVideoService.removeById(auctionVideo); } - R<PromotionVideo> promotionVideo=promotionClient.getPromotionVideoOne(orepartAuctionVideo.getPromotionVideoId()); + R<PromotionVideo> promotionVideo = promotionClient.getPromotionVideoOne( + orepartAuctionVideo.getPromotionVideoId(), + SecurityConstants.INNER); PromotionVideo promotionVideo1= promotionVideo.getData(); AuctionVideo auctionVideo1=new AuctionVideo(); diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberBondServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberBondServiceImpl.java new file mode 100644 index 0000000..4796bc5 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberBondServiceImpl.java @@ -0,0 +1,20 @@ +package com.ruoyi.auction.service.impl; + +import com.ruoyi.auction.domain.MemberBond; +import com.ruoyi.auction.mapper.MemberBondMapper; +import com.ruoyi.auction.service.IMemberBondService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author mitao + * @since 2024-05-27 + */ +@Service +public class MemberBondServiceImpl extends ServiceImpl<MemberBondMapper, MemberBond> implements IMemberBondService { + +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberBondMapper.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberBondMapper.xml new file mode 100644 index 0000000..1260288 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberBondMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.auction.mapper.MemberBondMapper"> + +</mapper> diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java index 09533e1..5db2b4d 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java @@ -32,6 +32,7 @@ private final IGoodsSeckillService goodsSeckillService; + @InnerAuth @PostMapping("/getGoodsSeckillOne") @ResponseBody public R<GoodsSeckill> getGoodsSeckillOne(@RequestBody Integer goodsSkuId) { diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java index 2dc4e9b..9a3a0f8 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java @@ -10,8 +10,10 @@ 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.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @@ -34,6 +36,7 @@ * 获取当前商品信息 * */ + @InnerAuth @PostMapping("/getGoodsSkuOne") @ResponseBody public R<GoodsSku> getGoodsSkuOne(@RequestBody Integer goodsSkuId) { @@ -42,7 +45,7 @@ } - + @InnerAuth @PostMapping("/updateGoodsSkuOne") @ResponseBody public R<Boolean> updateGoodsSkuOne(@RequestBody GoodsSku goodsSku) { @@ -57,8 +60,36 @@ * @return List<GoodsSku>商品SKU列表 */ @InnerAuth - @GetMapping("/goods-sku/name/{goodsSkuName}") + @GetMapping("/name/{goodsSkuName}") R<List<GoodsSku>> getGoodsByName(@PathVariable("goodsSkuName") String goodsSkuName) { return R.ok(iGoodsSkuService.getGoodsByName(goodsSkuName)); } + + /** + * 扣减商品库存 + * + * @param goodsSkuId 商品SKU ID + * @param auctionStock 拍卖商品库存 + */ + @InnerAuth + @PutMapping("/deduct-stock") + R<?> deductStock(@RequestParam("goodsSkuId") Long goodsSkuId, + @RequestParam("auctionStock") Integer auctionStock) { + iGoodsSkuService.deductStock(goodsSkuId, auctionStock); + return R.ok(); + } + + /** + * 退回商品库存 + * + * @param goodsSkuId 商品SKU ID + * @param auctionStock 拍卖商品库存 + */ + @InnerAuth + @PutMapping("/goods-sku/returning-stock") + R<?> returningStock(@RequestParam("goodsSkuId") Long goodsSkuId, + @RequestParam("auctionStock") Integer auctionStock) { + iGoodsSkuService.returningStock(goodsSkuId, auctionStock); + return R.ok(); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java index e27f75d..29af5f7 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java @@ -51,4 +51,14 @@ * @return List<GoodsSku>商品SKU列表 */ List<GoodsSku> getGoodsByName(String goodsSkuName); + + /** + * 扣减商品库存 + * + * @param goodsSkuId 商品SKU ID + * @param auctionStock 拍卖库存 + */ + void deductStock(Long goodsSkuId, Integer auctionStock); + + void returningStock(Long goodsSkuId, Integer auctionStock); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java index f685434..fe612a3 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java @@ -1,5 +1,6 @@ package com.ruoyi.goods.service.async; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.goods.domain.GoodsGroupPurchase; @@ -80,14 +81,15 @@ private void handleEndDelayTask(Long id, DelayTaskEnum delayTaskEnum, LocalDateTime endTime) { String endTaskKey = delayTaskEnum.getCode() + "-" + id; DelayTask endDelayTask = sysUserClient.getDelayTask( - endTaskKey).getData(); + endTaskKey, SecurityConstants.INNER).getData(); // 如果延时任务为空,创建延时任务控制活动定时开始和结束 Duration duration = Duration.between(LocalDateTime.now(), endTime); if (StringUtils.isNull(endDelayTask)) { createEndDelayTask(endTime, endTaskKey, duration); } else { if (!endDelayTask.getExecuteTime().isEqual(endTime)) { - sysUserClient.deleteDelayTask(endTaskKey); + sysUserClient.deleteDelayTask(endTaskKey, + SecurityConstants.INNER); redisService.deleteObject(endTaskKey); createEndDelayTask(endTime, endTaskKey, duration); } @@ -106,7 +108,7 @@ endDelayTask.setCreateTime(LocalDateTime.now()); endDelayTask.setExecuteTime(endTime); endDelayTask.setRedisKey(seckillEndTaskKey); - sysUserClient.addDelayTask(endDelayTask); + sysUserClient.addDelayTask(endDelayTask, SecurityConstants.INNER); } private void handleStartDelayTask(Long id, DelayTaskEnum delayTaskEnum, LocalDateTime startTime, @@ -117,7 +119,7 @@ startTime, timeout, TimeUnit.SECONDS); //查询延时任务 DelayTask startDelayTask = sysUserClient.getDelayTask( - startTaskKey).getData(); + startTaskKey, SecurityConstants.INNER).getData(); if (StringUtils.isNull(startDelayTask)) { startDelayTask = new DelayTask(); startDelayTask.setDelFlag(0); @@ -125,11 +127,11 @@ startDelayTask.setExecuteTime(LocalDateTime.now().plusSeconds(timeout)); startDelayTask.setRedisKey( startTaskKey); - sysUserClient.addDelayTask(startDelayTask); + sysUserClient.addDelayTask(startDelayTask, SecurityConstants.INNER); } else { if (!startDelayTask.getExecuteTime().isEqual(startTime)) { sysUserClient.deleteDelayTask( - startTaskKey); + startTaskKey, SecurityConstants.INNER); redisService.deleteObject( startTaskKey); startDelayTask.setDelFlag(0); @@ -137,7 +139,7 @@ startDelayTask.setExecuteTime(LocalDateTime.now().plusSeconds(timeout)); startDelayTask.setRedisKey( startTaskKey); - sysUserClient.addDelayTask(startDelayTask); + sysUserClient.addDelayTask(startDelayTask, SecurityConstants.INNER); } } log.info(">>>>>>>>>>>>>>>>>>>>延时任务{}执行了<<<<<<<<<<<<<<<<<<<<", startTaskKey); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index 8383908..a51d3a5 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.GroupStatusEnum; import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; @@ -127,7 +128,8 @@ GoodsGroupPurchaseVO vo = BeanUtils.copyBean(groupPurchase, GoodsGroupPurchaseVO.class); //远程调用订单服务查询商品购买总数 - Integer num = orderClient.getGroupPurchasesGoodsNum(groupPurchase.getId()).getData(); + Integer num = orderClient.getGroupPurchasesGoodsNum(groupPurchase.getId(), + SecurityConstants.INNER).getData(); vo.setBuyNumber(num); return vo; } @@ -217,7 +219,8 @@ //判断商品状态,未成团则查询关联订单,进行退款;成团就直接修改状态 if (groupPurchase.getGroupStatus().equals(GroupStatusEnum.TO_FORM_A_GROUP)) { //查询关联订单 - List<Order> orderList = orderClient.getOrderByGroupPurchaseId(id).getData(); + List<Order> orderList = orderClient.getOrderByGroupPurchaseId(id, + SecurityConstants.INNER).getData(); for (Order order : orderList) { if (PaymentMethodEnum.ALIPAY.equals(order.getPaymentMethod())) { //TODO 退款 diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java index d44a70c..6a9ff24 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.constant.CacheConstants; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; import com.ruoyi.common.core.exception.ServiceException; @@ -160,7 +161,8 @@ GoodsSeckillVO vo = BeanUtils.copyBean(goodsSeckill, GoodsSeckillVO.class); GoodsSku goods = goodsSkuService.getById(goodsSeckill.getGoodsSkuId()); Optional.of(goods).ifPresent(goodsSku -> vo.setGoodsSkuName(goodsSku.getSkuName())); - Integer num = orderClient.getSeckillMembers(goodsSeckill.getGoodsSkuId()).getData(); + Integer num = orderClient.getSeckillMembers(goodsSeckill.getGoodsSkuId(), + SecurityConstants.INNER).getData(); vo.setNumberOfPurchasedMembers(num); return vo; } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java index 37798e5..6965243 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java @@ -72,6 +72,10 @@ if (Objects.isNull(dto.getId())) { this.save(goodsSku); } else { + GoodsSku goodsSkuOrg = this.getById(dto.getId()); + if (StringUtils.isNull(goodsSkuOrg)) { + throw new ServiceException("商品不存在"); + } this.updateById(goodsSku); } @@ -198,4 +202,38 @@ .like(StringUtils.isNotEmpty(goodsSkuName), GoodsSku::getSkuName, goodsSkuName) .list(); } + + /** + * 扣减商品库存 + * + * @param goodsSkuId 商品SKU ID + * @param auctionStock 拍卖库存 + */ + @Override + public void deductStock(Long goodsSkuId, Integer auctionStock) { + GoodsSku goodsSku = this.getById(goodsSkuId); + if (StringUtils.isNull(goodsSku)) { + throw new ServiceException("商品不存在"); + } + if (goodsSku.getStock() < auctionStock) { + throw new ServiceException("库存不足"); + } + // 更新商品库存 + this.lambdaUpdate().set(GoodsSku::getStock, goodsSku.getStock() - auctionStock) + .ge(GoodsSku::getStock, auctionStock).eq(GoodsSku::getId, goodsSku.getId()) + .update(); + } + + @Override + public void returningStock(Long goodsSkuId, Integer auctionStock) { + GoodsSku goodsSku = this.getById(goodsSkuId); + if (StringUtils.isNull(goodsSku)) { + throw new ServiceException("商品不存在"); + } + // 更新商品库存 + this.lambdaUpdate() + .set(auctionStock > 0, GoodsSku::getStock, goodsSku.getStock() + auctionStock) + .eq(GoodsSku::getId, goodsSku.getId()) + .update(); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java index 4ce35b6..95610ad 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java @@ -4,21 +4,19 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.member.dto.MemberDTO; -import com.ruoyi.system.api.domain.Member; import com.ruoyi.member.service.IMemberService; +import com.ruoyi.system.api.domain.Member; import io.swagger.annotations.ApiOperation; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import util.HuaWeiOBSUtil; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; /** * <p> @@ -33,8 +31,6 @@ public class MemberController { @Resource private IMemberService iMemberService; - - @RequestMapping("/getMembeOne") @ResponseBody diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberPointsController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberPointsController.java index d1f11ac..8a29a40 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberPointsController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberPointsController.java @@ -3,17 +3,14 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.member.domain.MemberPoints; import com.ruoyi.member.dto.MemberDTO; -import com.ruoyi.member.domain.pojo.MemberPoints; import com.ruoyi.member.service.IMemberPointsService; import io.swagger.annotations.ApiOperation; +import javax.annotation.Resource; import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; /** * <p> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java new file mode 100644 index 0000000..d37a001 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java @@ -0,0 +1,32 @@ +package com.ruoyi.member.controller.inner; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.member.service.IMemberService; +import com.ruoyi.system.api.domain.Member; +import java.util.List; +import java.util.Set; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author mitao + * @date 2024/5/27 + */ +@RestController +@RequestMapping("/member") +@RequiredArgsConstructor +public class MemberController { + + private final IMemberService memberService; + + @InnerAuth + @PostMapping("/list-by-ids") + R<List<Member>> getMemberListByIds(@RequestParam("memberIdList") Set<Long> memberIdList) { + return R.ok(memberService.getMemberListByIds(memberIdList)); + } + +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberLevel.java similarity index 97% rename from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java rename to ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberLevel.java index b70e46f..dadc73e 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberLevel.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberLevel.java @@ -1,4 +1,4 @@ -package com.ruoyi.member.domain.pojo; +package com.ruoyi.member.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberPoints.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java similarity index 97% rename from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberPoints.java rename to ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java index 27260ef..1d45bb4 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/MemberPoints.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java @@ -1,4 +1,4 @@ -package com.ruoyi.member.domain.pojo; +package com.ruoyi.member.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Region.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/Region.java similarity index 96% rename from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Region.java rename to ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/Region.java index 9dea6b8..aa6f886 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Region.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/Region.java @@ -1,4 +1,4 @@ -package com.ruoyi.member.domain.pojo; +package com.ruoyi.member.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java index cfe14cc..799d7e8 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.member.mapper; -import com.ruoyi.member.domain.pojo.MemberLevel; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.member.domain.MemberLevel; /** * <p> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java index be4e640..09c34fc 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.member.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.member.domain.pojo.MemberPoints; +import com.ruoyi.member.domain.MemberPoints; /** * <p> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java index 284cac5..54a4a14 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.member.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.member.domain.pojo.Region; +import com.ruoyi.member.domain.Region; import com.ruoyi.member.domain.vo.RegionVo; import java.util.List; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java index a02a19e..8d16bab 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java @@ -1,7 +1,7 @@ package com.ruoyi.member.service; -import com.ruoyi.member.domain.pojo.MemberLevel; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.member.domain.MemberLevel; /** * <p> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberPointsService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberPointsService.java index a5bb1d6..2fc1bf2 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberPointsService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberPointsService.java @@ -2,10 +2,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.member.domain.MemberPoints; import com.ruoyi.member.dto.MemberDTO; -import com.ruoyi.member.domain.pojo.MemberPoints; - -import java.util.List; /** * <p> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java index a1802e4..1730c9e 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java @@ -1,8 +1,10 @@ package com.ruoyi.member.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.member.dto.MemberDTO; import com.ruoyi.system.api.domain.Member; -import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; +import java.util.Set; /** * <p> @@ -22,4 +24,5 @@ void authentificationMembe(MemberDTO memberDTO); + List<Member> getMemberListByIds(Set<Long> memberIdList); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java index f5a2415..7cbc828 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java @@ -1,7 +1,7 @@ package com.ruoyi.member.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.member.domain.pojo.Region; +import com.ruoyi.member.domain.Region; import com.ruoyi.member.domain.vo.RegionVo; import java.util.List; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java index aad50ea..1a57b50 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java @@ -1,9 +1,9 @@ package com.ruoyi.member.service.impl; -import com.ruoyi.member.domain.pojo.MemberLevel; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.member.domain.MemberLevel; import com.ruoyi.member.mapper.MemberLevelMapper; import com.ruoyi.member.service.IMemberLevelService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java index cfb31bc..8eea295 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java @@ -5,13 +5,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.member.domain.MemberPoints; import com.ruoyi.member.dto.MemberDTO; -import com.ruoyi.member.domain.pojo.MemberPoints; import com.ruoyi.member.mapper.MemberPointsMapper; import com.ruoyi.member.service.IMemberPointsService; -import org.springframework.stereotype.Service; - import javax.annotation.Resource; +import org.springframework.stereotype.Service; /** * <p> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java index cc602ea..ea5ac76 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java @@ -3,16 +3,24 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.core.enums.GenderEnum; -import com.ruoyi.common.core.exception.ServiceException; -import org.apache.commons.io.IOUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.enums.GenderEnum; +import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.member.dto.MemberDTO; -import com.ruoyi.system.api.domain.Member; import com.ruoyi.member.mapper.MemberMapper; import com.ruoyi.member.service.IMemberService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.api.domain.Member; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import javax.annotation.Resource; +import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; @@ -21,13 +29,6 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.HashMap; -import java.util.Map; /** * <p> @@ -189,7 +190,10 @@ return result; } - + @Override + public List<Member> getMemberListByIds(Set<Long> memberIdList) { + return this.listByIds(memberIdList); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java index 0b6443a..a4820fe 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.redis.service.RedisService; -import com.ruoyi.member.domain.pojo.Region; +import com.ruoyi.member.domain.Region; import com.ruoyi.member.domain.vo.RegionVo; import com.ruoyi.member.mapper.RegionMapper; import com.ruoyi.member.service.IRegionService; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java index a931e91..6a17a1f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java @@ -2,12 +2,16 @@ import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.order.service.IOrderAuctionBondService; import com.ruoyi.system.api.domain.dto.OrderAuctionBondDTO; -import org.apache.poi.ss.formula.functions.T; -import org.springframework.web.bind.annotation.*; - import javax.annotation.Resource; +import org.apache.poi.ss.formula.functions.T; +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.ResponseBody; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -28,6 +32,7 @@ * 获取当前商品信息 * */ + @InnerAuth @PostMapping("/getOrderAuctionBond") @ResponseBody public R<T> getOrderAuctionBond(@RequestBody OrderAuctionBondDTO orderAuctionBondDTO) { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java index ac3f033..dc90a34 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.utils.page.PageDTO; @@ -85,7 +86,8 @@ wrapper.eq(OrderMall::getOrderId, order.getId()); wrapper.eq(OrderMall::getDelFlag, 0); OrderMall orderMall= iOrderMallService.getOne(wrapper); - R<GoodsSku> goodsSkuR=goodsSkuClient.getGoodsSkuOne(orderMall.getGoodsSkuId()); + R<GoodsSku> goodsSkuR = goodsSkuClient.getGoodsSkuOne(orderMall.getGoodsSkuId(), + SecurityConstants.INNER); GoodsSku goodsSku=goodsSkuR.getData(); OrderName=goodsSku.getSkuName(); }else{ @@ -93,9 +95,11 @@ wrapper.eq(OrderAuction::getOrderId, order.getId()); wrapper.eq(OrderAuction::getDelFlag, 0); OrderAuction orderAuction=iOrderAuctionService.getOne(wrapper); - R<GoodsSeckill> goodsSeckillR=goodsSkuClient.getGoodsSeckillOne(orderAuction.getSalesroomGoodsId()); + R<GoodsSeckill> goodsSeckillR = goodsSkuClient.getGoodsSeckillOne( + orderAuction.getSalesroomGoodsId(), SecurityConstants.INNER); GoodsSeckill goodsSeckill=goodsSeckillR.getData(); - R<GoodsSku> goodsSkuR=goodsSkuClient.getGoodsSkuOne(goodsSeckill.getGoodsSkuId()); + R<GoodsSku> goodsSkuR = goodsSkuClient.getGoodsSkuOne(goodsSeckill.getGoodsSkuId(), + SecurityConstants.INNER); GoodsSku goodsSku=goodsSkuR.getData(); OrderName=goodsSku.getSkuName(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/DelayTaskController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/DelayTaskController.java index 7aa4d69..a7ae62b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/DelayTaskController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/DelayTaskController.java @@ -2,6 +2,7 @@ import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.system.api.domain.DelayTask; import com.ruoyi.system.service.DelayTaskService; import lombok.RequiredArgsConstructor; @@ -25,18 +26,21 @@ private final DelayTaskService delayTaskService; + @InnerAuth @PostMapping("/getDelayTask") public R<DelayTask> getDelayTask(@RequestBody String key) { DelayTask delayTask = delayTaskService.getDelayTask(key); return R.ok(delayTask); } + @InnerAuth @PostMapping("/addDelayTask") public R<?> addDelayTask(@RequestBody DelayTask delayTask) { delayTaskService.addDelayTask(delayTask); return R.ok(); } + @InnerAuth @PostMapping("/deleteDelayTask") public R<?> deleteDelayTask(@RequestBody String key) { delayTaskService.deleteDelayTask(key); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java index f484dae..8e62963 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java @@ -1,6 +1,7 @@ package com.ruoyi.system.listener; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.system.api.constants.DelayTaskEnum; @@ -87,26 +88,26 @@ @Async public void autoStartSeckill(Long seckillId) { log.info("autoStartSeckill scheduler task is running :{}", seckillId); - goodsSkuClient.startSeckill(seckillId); + goodsSkuClient.startSeckill(seckillId, SecurityConstants.INNER); } @Async public void autoEndSeckill(Long seckillId) { log.info("autoEndSeckill scheduler task is running :{}", seckillId); - goodsSkuClient.endSeckill(seckillId); + goodsSkuClient.endSeckill(seckillId, SecurityConstants.INNER); } @Async public void autoStartGroupPurchase(Long GroupPurchaseId) { log.info("autoStartGroupPurchase scheduler task is running :{}", GroupPurchaseId); - goodsSkuClient.startGroupPurchase(GroupPurchaseId); + goodsSkuClient.startGroupPurchase(GroupPurchaseId, SecurityConstants.INNER); } @Async public void autoEndGroupPurchase(Long GroupPurchaseId) { log.info("autoEndGroupPurchase scheduler task is running :{}", GroupPurchaseId); - goodsSkuClient.endGroupPurchase(GroupPurchaseId); + goodsSkuClient.endGroupPurchase(GroupPurchaseId, SecurityConstants.INNER); } @Async -- Gitblit v1.7.1