diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklReceiveNotifyLogServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklReceiveNotifyLogServiceImpl.java index d24d806f..9b0e27f5 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklReceiveNotifyLogServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LklReceiveNotifyLogServiceImpl.java @@ -86,7 +86,6 @@ public class LklReceiveNotifyLogServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", orderId); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 94f5b898..7d6e77e4 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -385,8 +385,10 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl jumpPathOrderIds = new ArrayList<>(); // 处理符合条件的订单 for (ShopOrderBase order_row : order_rows) { // 只处理符合条件的订单 @@ -5076,7 +5080,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl receive_id_row.contains(order.getOrder_id())) @@ -5176,10 +5186,39 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl orderIds) { + if (CollectionUtils.isEmpty(orderIds)) { + return; + } + + CompletableFuture.runAsync(() -> { + for (String orderId : orderIds) { + try { + // 控制API调用频率 + Thread.sleep(300); // 根据实际API限制调整 + wxOrderShippingService.setMsgJumpPath(orderId); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + log.warn("[异步处理] 线程中断,订单ID: {}", orderId); + break; + } catch (Exception e) { + log.warn("[异步处理] 消息跳转路径设置失败,订单ID: {}, 错误: {}", orderId, e.getMessage()); + // 继续处理下一个订单 + } + } + }, executor); + } + /** * 订单确认收货(定时任务用途)