| | |
| | | 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 javax.annotation.Resource; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | }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){ |
| | |
| | | //延时任务表 |
| | | @Async |
| | | public void autoStartSeckill(Long seckillId) { |
| | | log.info("autoStartSeckill scheduler task is running :" + seckillId); |
| | | goodsSkuClient.startSeckill(seckillId); |
| | | log.info("autoStartSeckill scheduler task is running :{}", seckillId); |
| | | goodsSkuClient.startSeckill(seckillId, SecurityConstants.INNER); |
| | | |
| | | } |
| | | |
| | | @Async |
| | | public void autoEndSeckill(Long seckillId) { |
| | | log.info("autoEndSeckill scheduler task is running :" + seckillId); |
| | | goodsSkuClient.endSeckill(seckillId); |
| | | log.info("autoEndSeckill scheduler task is running :{}", seckillId); |
| | | goodsSkuClient.endSeckill(seckillId, SecurityConstants.INNER); |
| | | } |
| | | |
| | | @Async |
| | | public void autoStartGroupPurchase(Long GroupPurchaseId) { |
| | | log.info("autoStartGroupPurchase scheduler task is running :" + GroupPurchaseId); |
| | | goodsSkuClient.startGroupPurchase(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); |
| | | 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); |
| | | log.info("autoCancelOrder scheduler task is running :{}", orderId); |
| | | } |
| | | } |