From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java | 93 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 80 insertions(+), 13 deletions(-) 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 2062fef..ac18647 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,16 +1,22 @@ 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; +import com.ruoyi.system.api.feignClient.AuctionClient; +import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.OrderClient; import java.util.Date; -import lombok.extern.log4j.Log4j2; +import javax.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.listener.KeyExpirationEventMessageListener; import org.springframework.data.redis.listener.RedisMessageListenerContainer; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @@ -18,12 +24,18 @@ * @author mitao * @date 2024/5/22 */ -@Log4j2 +@Slf4j @Component public class RedisListener extends KeyExpirationEventMessageListener { private RedisTemplate<String, Object> redisTemplate; + @Resource + private GoodsSkuClient goodsSkuClient; + @Resource + private OrderClient orderClient; + @Resource + private AuctionClient auctionClient; public RedisListener(RedisMessageListenerContainer listenerContainer, RedisTemplate redisTemplate) { super(listenerContainer); @@ -41,17 +53,32 @@ if(expiredKey.contains("-")){ String[] split = expiredKey.split("-"); String operation=split[0]; + Long id = Long.valueOf(split[1]); if(DelayTaskEnum.SECKILL_START_TASK.getCode().equals(operation)){ - //自动开始任务 + //自动开始秒杀任务 + autoStartSeckill(id); }else if(DelayTaskEnum.SECKILL_END_TASK.getCode().equals(operation)){ - //自动结束任务 + //自动结束秒杀任务 + autoEndSeckill(id); }else if(DelayTaskEnum.GROUP_PURCHASES_START_TASK.getCode().equals(operation)){ - //自动开始任务 + //自动开始团购任务 + autoStartGroupPurchase(id); } else if(DelayTaskEnum.GROUP_PURCHASES_END_TASK.getCode().equals(operation)){ - //自动结束任务 + //自动结束团购任务 + autoEndGroupPurchase(id); + } else if (DelayTaskEnum.AUCTION_GOODS_START_TASK.getCode().equals(operation)) { + // 自动开始拍卖商品任务 + autoStartAuctionGoods(id); + } else if (DelayTaskEnum.AUCTION_GOODS_END_TASK.getCode().equals(operation)) { + // 自动结束拍卖商品任务 + autoEndAuctionGoods(id); }else if(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode().equals(operation)){ - //自动结束任务 + //自动取消订单 + autoCancelOrder(id); + } + else if(DelayTaskEnum.AUTOMATIC_CANCEL.getCode().equals(operation)){ + tusonUser(id); } //删除失效的key redisTemplate.delete(expiredKey); @@ -60,6 +87,18 @@ }catch (Exception e){ e.printStackTrace(); } + } + + @Async + public void autoEndAuctionGoods(Long id) { + log.info("autoEndAuctionGoods scheduler task is running :{}", id); + auctionClient.endAuctionGoods(id, SecurityConstants.INNER); + } + + @Async + public void autoStartAuctionGoods(Long id) { + log.info("autoStartAuctionGoods scheduler task is running :{}", id); + auctionClient.startAuctionGoods(id, SecurityConstants.INNER); } public <T> T getAndSet(final String key, T value){ @@ -74,16 +113,44 @@ } //延时任务表 + @Async + public void autoStartSeckill(Long seckillId) { + log.info("autoStartSeckill scheduler task is running :{}", seckillId); + goodsSkuClient.startSeckill(seckillId, SecurityConstants.INNER); - private void autoStartActivity(String activityId){ - log.info("autoStartActivity scheduler task is running :" + activityId); } - private void autoEndActivity(String activityId){ - log.info("autoEndActivity scheduler task is running :" + activityId); + @Async + public void autoEndSeckill(Long seckillId) { + log.info("autoEndSeckill scheduler task is running :{}", seckillId); + goodsSkuClient.endSeckill(seckillId, SecurityConstants.INNER); } - private void autoCancelOrder(String orderId){ - log.info("autoCancelOrder scheduler task is running :" + orderId); + @Async + public void autoStartGroupPurchase(Long GroupPurchaseId) { + log.info("autoStartGroupPurchase scheduler task is running :{}", GroupPurchaseId); + goodsSkuClient.startGroupPurchase(GroupPurchaseId, SecurityConstants.INNER); + } + + @Async + public void autoEndGroupPurchase(Long GroupPurchaseId) { + log.info("autoEndGroupPurchase scheduler task is running :{}", GroupPurchaseId); + goodsSkuClient.endGroupPurchase(GroupPurchaseId, SecurityConstants.INNER); + } + + @Async + public void orderClient(Long oid) { + log.info("autoEndGroupPurchase scheduler task is running :{}", oid); + orderClient.autoCancelOrder(oid, SecurityConstants.INNER); + } + + @Async + public void tusonUser(Long tusonUserIdId) { + goodsSkuClient.tusonUser(tusonUserIdId, SecurityConstants.INNER); + } + + @Async + public void autoCancelOrder(Long orderId) { + log.info("autoCancelOrder scheduler task is running :{}", orderId); } } -- Gitblit v1.7.1