mitao
2024-05-27 95163bc7f6714edcb14dd4369717b0a9d1ae15da
Merge branch 'dev-mitao'

# Conflicts:
# ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
3 文件已重命名
9个文件已添加
42个文件已修改
830 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/PromotionFallbackFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberBondController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MemberBondController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberBond.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberBondMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberBondService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberBondServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberBondMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberPointsController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberLevel.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/Region.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberLevelMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/MemberPointsMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberLevelService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberPointsService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderAuctionBondController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/DelayTaskController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());
            }
        };
    }
}
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());
            }
        };
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());
            }
        };
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());
            }
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());
            }
        };
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);
}
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);
}
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);
}
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);
}
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);
}
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
@@ -14,7 +14,9 @@
import com.ruoyi.article.service.IArticleService;
import com.ruoyi.article.service.IMemberArticleCollectionService;
import com.ruoyi.article.service.IMemberLikeService;
import com.ruoyi.article.service.IMemberLikeService;
import com.ruoyi.article.vo.ArticleCommentsVO;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.article.vo.ArticleVO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.ArticleTypeEnum;
@@ -22,18 +24,15 @@
import com.ruoyi.common.core.utils.bean.BeanUtils;
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>
@@ -263,7 +262,8 @@
    @Override
    public void getReport(ArticleDTO articleDTO) {
       Article article= articleService.getById(articleDTO.getId());
        R<Member> membeOne = memberClient.getMembeOne(articleDTO.getMemberId());
        R<Member> membeOne = memberClient.getMembeOne(articleDTO.getMemberId(),
                SecurityConstants.INNER);
        Member data = membeOne.getData();
        article.setReportBy(data.getNickname());
        article.setReportedTime(LocalDateTime.now());
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>
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberBondController.java
New file
@@ -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 {
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MemberBondController.java
New file
@@ -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 {
}
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();
    }
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java
New file
@@ -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;
}
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;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberBond.java
New file
@@ -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;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberBondMapper.java
New file
@@ -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> {
}
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);
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberBondService.java
New file
@@ -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> {
}
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("拍卖商品不存在");
        }
    }
}
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());
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();
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberBondServiceImpl.java
New file
@@ -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 {
}
ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberBondMapper.xml
New file
@@ -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>
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) {
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();
    }
}
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);
}
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);
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 退款
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;
    }
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();
    }
}
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
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>
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java
New file
@@ -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));
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberLevel.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/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;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/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;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/Region.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/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;
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>
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>
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;
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>
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>
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);
}
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;
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;
/**
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>
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);
    }
}
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;
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) {
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();
           }
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);
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