From 37569fa7a85e65ef5768c3aede8b9ad5fb3ffe1f Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 7 Mar 2025 15:21:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E6=AD=A5=E4=BF=AE=E6=94=B9=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/order/service/impl/PayServiceImpl.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index ff97cef66..97ae3b527 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -52,6 +52,9 @@ import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; +import java.util.concurrent.TimeUnit; /** * @author ww @@ -101,10 +104,13 @@ public class PayServiceImpl implements PayService { private OrderInfo checkPay(CheckOrderPay checkOrderPay) { OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay); if (orderInfo.getOrderAmount().compareTo(BigDecimal.ZERO) == 0) { - log.info("订单:{} 金额为0", orderInfo); - orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(), - LocalDateTime.now(), null, PayEnums.CASH_PAY); - redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId()); + Executor delayedExecutor = CompletableFuture.delayedExecutor(3, TimeUnit.SECONDS); + // 使用延迟的Executor执行一个简单任务 + CompletableFuture.runAsync(() -> { + orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(), + LocalDateTime.now(), null, PayEnums.CASH_PAY); + redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId()); + }, delayedExecutor); throw new PaySuccessException(); } return orderInfo;