Browse Source

fengji 修复团练宝支付

yanite 3 years ago
parent
commit
91a22702fb

+ 14 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -229,6 +229,11 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             orderState = 1;
         }
         TenantOrderRecord record = tenantInfoService.createOrderRecord(tenantId, payAmount, orderNo, tenantEnum, orderState, WrapperUtil.toStr(payMap, "routingMerNos"));
+        for (CloudTeacherStudent cts : cloudTeacherStudents) {
+            if (cloudTeacherOrderDao.updateOrderId(cts.getCloudTeacherOrderId(), cts.getAmount(), record.getId()) <= 0) {
+                throw new Exception("更新订单失败");
+            }
+        }
         if (orderState == 1) { // 成功手直接成功
             this.paySuccess(record);
         }
@@ -274,13 +279,13 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         if (!bucket.trySet(1, 3L, TimeUnit.SECONDS)) {
             return false;
         }
-        log.info("  云教练 支付 check >>>>> {} ", i);
+        log.info("  团练宝激活 check >>>>> {} ", i);
         checkTransOrderState(record);
         if (record.getOrderState() == 1) {
             tenantOrderRecordService.updateById(record);
             try {
                 this.paySuccess(record); // 充值成功
-                log.info("  云教练 支付 成功 >>>>> {}", i);
+                log.info("  团练宝激活 成功 >>>>> {}", i);
                 return true;
             } catch (Exception e) {
                 e.printStackTrace();
@@ -310,7 +315,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             Map<String, Object> payment;
             try {
                 payment = Payment.queryPayment(orderRecord.getTransNo());
-                log.info("    >>>>> payment 云教练 >>>>>");
+                log.info("    >>>>> payment 团练宝 payment query start");
                 String status = (String) payment.get("status");
                 //判断状态是成功还是失败
                 if (status.equals("succeeded")) {
@@ -330,10 +335,10 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
                         }
                     }
                 }
-                log.info("     >>>>> payment 云教练  >>>>> {}", payment);
-                log.info("     >>>>> payment 云教练  >>>>> {}", JSON.toJSONString(orderRecord));
+                log.info("     >>>>> payment 团练宝  >>>>> {}", payment);
+                log.info("     >>>>> payment 团练宝  >>>>> {}", JSON.toJSONString(orderRecord));
             } catch (Exception e) {
-                log.error("     >>>>> payment 云教练  >>>>> {}", JSON.toJSONString(orderRecord));
+                log.error("     >>>>> payment 团练宝  >>>>> {}", JSON.toJSONString(orderRecord));
             }
         }
     }
@@ -343,6 +348,9 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         if (record.getId() == null) {
             throw new Exception("订单未找到");
         }
+        record.setPayDate(new Date());
+        record.setPayTime(new Date());
+        tenantOrderRecordService.updateById(record);
         // cloudTeacherOrderDao.updateOrderStatusOK(record.getId()
         List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderDao.findByPlatformOrderId(record.getId());
         Date startTime = DateUtil.trunc(new Date());

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrderPayOpsServiceImpl.java

@@ -88,7 +88,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     {
         //开通缴费/续费
         checkOrderType.put("tenant", this::openOrRenew);
-        //云教练支付
+        //团练宝激活支付
         checkOrderType.put("cloudTeacherOrder", this::cloudTeacherOrder);
         //机构充值
         checkOrderType.put("tenantRecharge", this::tenantRecharge);
@@ -174,11 +174,11 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         return payment;
     }
 
-    // 云教练支付
+    // 团练宝激活支付
     private Map<String, Object> cloudTeacherOrder(PaymentParam payParam) {
         TenantOrderRecord tenantOrderRecord = getTenantOrderRecord(payParam.getOrderNo());
         Map<String, Object> payment = checkOrderGetPayment(payParam, tenantOrderRecord);
-        // 云教练支付 主动延迟检查订单
+        // 团练宝激活支付 主动延迟检查订单
         log.info("executePayment delayCheckCloudTeacherOrder >>>>> ");
         delayCheckCloudTeacherOrder(tenantOrderRecord);
         return payment;
@@ -436,15 +436,15 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         //异步
         CompletableFuture.runAsync(() -> {
             //检查5次
-            Boolean ret = false;
+            Boolean ret;
             for (int i = 0; i <= 20; i++) { // 检查5分钟
                 try {
                     ret = cloudTeacherOrderService.payCheck(record, i);
                     if (ret) break;
                     Thread.sleep(3000);//每3秒触发一次
-                    log.info("云教练 支付 重试>>>>>  start {}", i);
+                    log.info("团练宝激活支付 重试>>>>>  start {}", i);
                 } catch (Exception e) {
-                    log.info("云教练 支付 异常 : {}", e.toString());
+                    log.info("团练宝激活支付 异常 : {}", e.toString());
                     e.printStackTrace();
                 }
             }

+ 6 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantOrderRecordServiceImpl.java

@@ -266,13 +266,12 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
         // 更新 tenantAssetsInfo
         log.info("checkRechargeCheck  updateAmount>>>>>");
         int ret = assetsInfoService.updateAmount(record.getTenantId(), record.getExpectAmount());
-        try {
-            record.setPayDate(new Date());
-            record.setPayTime(new Date());
-            baseMapper.updateById(record); // 添加支付时间
-        } catch (Exception e) {
-            log.error("更新支付时间错误代码 {}", e);
+        if (ret != 1) {
+            throw new Exception("更新支付失败");
         }
+        record.setPayDate(new Date());
+        record.setPayTime(new Date());
+        baseMapper.updateById(record); // 添加支付时间
         // 取余额
         TenantAssetsInfo assets = assetsInfoService.getOne(new WrapperUtil<TenantAssetsInfo>().hasEq("tenant_id_", record.getTenantId()).queryWrapper());
         TenantInfo tenantInfo = tenantInfoService.getOne(new WrapperUtil<TenantInfo>().hasEq("id_", record.getTenantId()).queryWrapper());
@@ -292,9 +291,7 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
         log.info("platformSendToAll 充值成功发送邮件分发器  >>> receiveUserId {} email {} objs {} sendPar {}", receiveUserId, email, objs, sendPar2);
         sysMessageService.batchSendMessage(-1, MessageSenderPluginContext.MessageSender.EMAIL, MessageTypeEnum.EMAIL_TENANT_RECHARGE, sendPar2, null, 0, null, "SYSTEM", objs);
 
-        if (ret != 1) {
-            throw new Exception("更新支付失败");
-        }
+
     }
 
     @Override