秒杀情况下,用户下单扣除库存创建订单之后,迟迟不付款,时间到了自动取消订单(思路)

时间:2025-03-24 19:35:03
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { @Autowired private PayOrderTimeoutService payOrderTimeoutService; public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) { super(listenerContainer); } /** * 针对 redis 数据失效事件,进行数据处理 * * @param message * @param pattern */ @Override public void onMessage(Message message, byte[] pattern) { // redis 客户端监听 Redis 16库 每个库对应不同的业务逻辑 前缀 order_timeOut_支付id String key = message.toString();//获取到失效的key,根据业务需要对这个key进行处理,例如删除订单,返还库存等操作 log.info(">key:{}已经过期!<", key); Long payId = Long.parseLong(key); payOrderTimeoutService.orderTimeout(payId); } }