Browse Source

原生支付取消判断

liujc 1 year ago
parent
commit
7069877bc4

+ 13 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java

@@ -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);