1、删除初始化sql中的无用log记录

2、解决订单未支付和订单确认收货两个延迟队列互相阻塞的问题;
This commit is contained in:
hyy committed 2024-04-28 17:17:34 +08:00
1 parent 358a282d59
commit f2ba4251eb
2 files changed
+35 -6757

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -40,36 +40,47 @@ public class RedisDelayHandle {
.setThreadFactory(threadFactory)
.build();
executorService.execute(new ExecutorTask());
executorService.execute(new OrderOutTimeUnPayExecutorTask());
executorService.execute(new OrderOutTimeUnConfirmExecutorTask());
}
class ExecutorTask implements Runnable {
class OrderOutTimeUnPayExecutorTask implements Runnable {
@SneakyThrows
@Override
public void run() {
RBlockingDeque<String> blockingDeque = redissonClient
.getBlockingDeque(ShopConstants.REDIS_ORDER_OUTTIME_UNPAY_QUEUE);
RBlockingDeque<String> blockingDeque2 = redissonClient
.getBlockingDeque(ShopConstants.REDIS_ORDER_OUTTIME_UNCONFIRM);
while (true) {
String orderId = "";
String orderId2 = "";
try {
orderId = blockingDeque.take();
orderId2 = blockingDeque2.take();
} catch (Exception e) {
log.error("Redission延迟队列监测异常中断,忽略此消息:{}", e.getMessage());
}
if(StrUtil.isNotEmpty(orderId)) {
appStoreOrderService.cancelOrder(orderId,null);
if (StrUtil.isNotEmpty(orderId)) {
appStoreOrderService.cancelOrder(orderId, null);
}
if(StrUtil.isNotEmpty(orderId2)) {
appStoreOrderService.takeOrder(orderId,null);
}
}
}
}
class OrderOutTimeUnConfirmExecutorTask implements Runnable {
@SneakyThrows
@Override
public void run() {
RBlockingDeque<String> blockingDeque = redissonClient
.getBlockingDeque(ShopConstants.REDIS_ORDER_OUTTIME_UNCONFIRM);
while (true) {
String orderId = "";
try {
orderId = blockingDeque.take();
} catch (Exception e) {
log.error("Redission延迟队列监测异常中断,忽略此消息:{}", e.getMessage());
}
if (StrUtil.isNotEmpty(orderId)) {
appStoreOrderService.takeOrder(orderId, null);
}
}
}
}
}