异步修改订单状态
This commit is contained in:
@@ -52,6 +52,9 @@ import java.time.LocalDateTime;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ww
|
* @author ww
|
||||||
@@ -101,10 +104,13 @@ public class PayServiceImpl implements PayService {
|
|||||||
private OrderInfo checkPay(CheckOrderPay checkOrderPay) {
|
private OrderInfo checkPay(CheckOrderPay checkOrderPay) {
|
||||||
OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay);
|
OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay);
|
||||||
if (orderInfo.getOrderAmount().compareTo(BigDecimal.ZERO) == 0) {
|
if (orderInfo.getOrderAmount().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
log.info("订单:{} 金额为0", orderInfo);
|
Executor delayedExecutor = CompletableFuture.delayedExecutor(3, TimeUnit.SECONDS);
|
||||||
|
// 使用延迟的Executor执行一个简单任务
|
||||||
|
CompletableFuture.runAsync(() -> {
|
||||||
orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
orderInfoService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),
|
||||||
LocalDateTime.now(), null, PayEnums.CASH_PAY);
|
LocalDateTime.now(), null, PayEnums.CASH_PAY);
|
||||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
||||||
|
}, delayedExecutor);
|
||||||
throw new PaySuccessException();
|
throw new PaySuccessException();
|
||||||
}
|
}
|
||||||
return orderInfo;
|
return orderInfo;
|
||||||
|
|||||||
Reference in New Issue
Block a user