zouxuan 3 kuukautta sitten
vanhempi
commit
854ff7bc38

+ 24 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -327,28 +327,31 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             return;
         }
         
-        List<String> orderNoList = new ArrayList<String>();
-
         for (StudentPaymentOrder payingOrder : payingOrders) {
-            //if (payingOrder.getTransNo() == null && "205".equals(payingOrder.getPaymentAccountNo()) && DateUtil.isSameDay(payingOrder.getCreateTime(), new Date())) {
-            if (payingOrder.getTransNo() == null && "205".equals(payingOrder.getPaymentAccountNo())) {
+            //查询支付超过10分钟的
+            if (DateUtil.minutesBetween(payingOrder.getCreateTime(), date) < 30) {
                 continue;
             }
+            TenantContextHolder.setTenantId(payingOrder.getTenantId());
+            //if (payingOrder.getTransNo() == null && "205".equals(payingOrder.getPaymentAccountNo()) && DateUtil.isSameDay(payingOrder.getCreateTime(), new Date())) {
             if (payingOrder.getTransNo() == null) {
-                orderNoList.add(payingOrder.getOrderNo());
-                continue;
-            }
-            //查询支付超过10分钟的
-            if (DateUtil.minutesBetween(payingOrder.getCreateTime(), date) < 10) {
-                continue;
+                if (!"205".equals(payingOrder.getPaymentAccountNo())){
+                    continue;
+                }else {
+                    payingOrder.setStatus(CLOSE);
+                    payingOrder.setMemo("未拉起,超时未支付关闭");
+                    callOrderCallBack(payingOrder);
+                    continue;
+                }
             }
             try {
-            	updateOrderStatus(date, payingOrder);
+                updateOrderStatus(date, payingOrder);
             }catch (Exception e) {
-				logger.error("执行[订单状态查询]任务失败", e);
-			}
+				logger.error("执行[订单状态查询]任务失败,订单号:{}", payingOrder.getOrderNo(), e);
+			}finally {
+                TenantContextHolder.clearTenantId();
+            }
         }
-        closeOrders(orderNoList);
     }
 
     @Override
@@ -407,6 +410,13 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         }else if (paymentResp.getPaymentStatus() == PaymentStatus.SUCCESSED) {
             rpMap.put("tradeState", "1");
             model.setStatus(true);
+        } else if (paymentResp.getPaymentStatus() == PaymentStatus.PENDDING) {
+            PaymentClose close = paymentService.close(payingOrder.getTransNo(), "超时未支付关闭", payingOrder.getOrderNo());
+            log.info("关闭订单返回:{}", close);
+            payingOrder.setStatus(CLOSE);
+            payingOrder.setMemo("超时未支付关闭");
+            callOrderCallBack(payingOrder);
+            return model;
         }
         /*if (status.equals("succeeded")) {
             rpMap.put("tradeState", "1");