异步修改订单状态
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user