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