|
@@ -908,7 +908,8 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
DistributedLock.of(redissonClient).runIfLockCanGet(lockName, () -> {
|
|
|
|
|
|
// 下单未拉起三方支付,直接关闭
|
|
|
- if (StringUtils.isEmpty(paymentOrder.getTransNo()) && EPaymentStatus.WAIT_PAY == paymentOrder.getStatus()) {
|
|
|
+ if (StringUtils.isEmpty(paymentOrder.getTransNo())
|
|
|
+ && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus()||EPaymentStatus.PAYING == paymentOrder.getStatus())) {
|
|
|
|
|
|
// 直接关闭订单
|
|
|
UserPaymentOrderWrapper.UserPaymentOrder order = UserPaymentOrderWrapper.UserPaymentOrder
|
|
@@ -951,7 +952,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
UserPaymentOrderWrapper.UserPaymentOrderQuery waitPayQuery = UserPaymentOrderWrapper.UserPaymentOrderQuery
|
|
|
.builder()
|
|
|
.paymentStatus(Lists.newArrayList(OrderStatusEnum.parse(EPaymentStatus.WAIT_PAY)))
|
|
|
- .endTime(DateTime.now().minusMinutes(30).toDate())
|
|
|
+// .endTime(DateTime.now().minusMinutes(30).toDate())
|
|
|
.build();
|
|
|
|
|
|
IPage<UserPaymentOrderWrapper.UserPaymentOrder> page = QueryInfo.getPage(1, 10);
|
|
@@ -1176,7 +1177,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
|
|
|
// 用户下单超进关闭
|
|
|
if (EPaymentStatus.WAIT_PAY == paymentStatus
|
|
|
- || new DateTime(item.getCreateTime()).plusMinutes(118).isBeforeNow()) {
|
|
|
+ && new DateTime(item.getCreateTime()).plusMinutes(30).isBeforeNow()) {
|
|
|
|
|
|
try {
|
|
|
log.info("scanPaymentTimeoutOrderRecord WAIT_PAY, userId={}, orderNo={}", item.getUserId(), item.getOrderNo());
|
|
@@ -1213,6 +1214,15 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ } else {
|
|
|
+
|
|
|
+ try {
|
|
|
+ log.info("scanPaymentTimeoutOrderRecord WAIT_PAY, userId={}, orderNo={}", item.getUserId(), item.getOrderNo());
|
|
|
+ // 关闭待支付、超时订单
|
|
|
+ applicationContext.getBean(UserPaymentCoreService.class).cancelPayment(userInfo, item.getOrderNo());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("scanPaymentTimeoutOrderRecord WAIT_PAY, userId={}, orderNo={}", item.getUserId(), item.getOrderNo(), e);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}, 60L, TimeUnit.SECONDS);
|