Browse Source

Merge remote-tracking branch 'origin/saas' into saas

hgw 3 years ago
parent
commit
2d79a2f65f

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -106,4 +106,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
     int checkOrdered(@Param("cloudTeacherStudentIds")String join);
     
     List<CloudTeacherOrder> queryByUserIdAndStatus(@Param("userId")Integer userId, @Param("status")Integer status);
+
+    Map<Integer, String> findUserNameByOrderId(@Param("platformOrderId")Integer platformOrderId);
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -114,4 +114,5 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
 
     boolean addStudents(CloudTeacherAddQueryInfo cloudTeacherAddQueryInfo);
 
+    int sendSms(TenantOrderRecord record);
 }

+ 7 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -284,14 +284,18 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
                 e.printStackTrace();
                 return false;
             }
-            //TODO 发送短信
-            // Map<Integer, String> userPhone = new HashMap<>();
-            // sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.CLOUD_TEACHER_ORDER_SUCCESS, userPhone, null, 0, null, null);
         }
         bucket.delete();
         return false;
     }
 
+    @Override
+    public int sendSms(TenantOrderRecord record) {
+        Map<Integer, String> userPhone = cloudTeacherOrderDao.findUserNameByOrderId(record.getId());
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.CLOUD_TEACHER_ORDER_SUCCESS, userPhone, null, 0, null, null);
+        return 0;
+    }
+
     //主动去第三方查询订单状态
     private void checkTransOrderState(TenantOrderRecord orderRecord) {
         if (StringUtils.equals(orderRecord.getPaymentChannel(), PaymentChannelEnum.ADAPAY.getCode())) {

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

@@ -74,10 +74,9 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                         tenantOrderRecord::setTransNo,
                         tenantOrderRecordService::updateById
                 );
-                //主动延迟检查订单
+                //机构开通付款 主动延迟检查订单
                 delayCheckTenant();
             } else if (platform.equals("cloudTeacherOrder")) {
-
                 // 云教练支付
                 TenantOrderRecord tenantOrderRecord = tenantOrderRecordService.getOne(new WrapperUtil<TenantOrderRecord>()
                                                                                               .hasEq("order_no_", payParam.getOrderNo()).queryWrapper());
@@ -93,7 +92,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                                                 tenantOrderRecord::setTransNo,
                                                 tenantOrderRecordService::updateById
                 );
-                //主动延迟检查订单
+                // 云教练支付 主动延迟检查订单
                 log.info("executePayment delayCheckCloudTeacherOrder >>>>> ");
                 delayCheckCloudTeacherOrder(tenantOrderRecord);
             } else if (platform.equals("tenantRecharge")) {
@@ -277,9 +276,10 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         //异步
         CompletableFuture.runAsync(() -> {
             //检查5次
+            Boolean ret = false;
             for (int i = 0; i <= 5; i++) {
                 try {
-                    Boolean ret = cloudTeacherOrderService.payCheck(record);
+                    ret = cloudTeacherOrderService.payCheck(record);
                     if (ret) break;
                     Thread.sleep(3000);//每3秒触发一次
                     log.info("delayCheckCloudTeacherOrder >>>>>  start {}", i);
@@ -288,6 +288,9 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                     e.printStackTrace();
                 }
             }
+            if (ret) {
+                cloudTeacherOrderService.sendSms(record);
+            }
             bucket.delete();
         });
     }

+ 13 - 1
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -119,7 +119,19 @@
     </update>
 
     <select id="findByPlatformOrderId" resultMap="CloudTeacherOrder">
-        select * from cloud_teacher_order where platform_order_id_ = #{platformOrderId}
+        select * from cloud_teacher_order cto
+        left join sys_user su on cto.student_id_ = su.id_
+        where cto.platform_order_id_ = #{platformOrderId} and su.del_flag_ = 0
+    </select>
+
+    <resultMap id="mapResult" type="java.util.HashMap">
+        <result property="key" column="studentId"/>
+        <result property="value" column="phone" />
+    </resultMap>
+    <select id="findUserNameByOrderId" resultMap="mapResult">
+        select cto.student_id_ as studentId, su.phone_ as phone from cloud_teacher_order cto
+        left join sys_user su on cto.student_id_ = su.id_
+        where platform_order_id_ = #{platformOrderId} and su.del_flag_ = 0
     </select>
 
     <update id="updateOrderStatusOK">

+ 14 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CloudTeacherOrderController.java

@@ -1,13 +1,17 @@
 package com.ym.mec.web.controller;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
+import com.ym.mec.biz.dal.entity.TenantOrderRecord;
 import com.ym.mec.biz.dal.page.CloudTeacherAddQueryInfo;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
 import com.ym.mec.biz.service.CloudTeacherOrderService;
 import com.ym.mec.biz.service.OrderPayOpsService;
+import com.ym.mec.biz.service.TenantOrderRecordService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.WrapperUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
@@ -33,6 +37,9 @@ public class CloudTeacherOrderController extends BaseController {
     @Autowired
     private CloudTeacherOrderService cloudTeacherOrderService;
 
+    @Autowired
+    private TenantOrderRecordService tenantOrderRecordService;
+
     @ApiOperation(value = "手动添加会员")
     @PostMapping("/addStudents")
     @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/addStudents')")
@@ -79,4 +86,11 @@ public class CloudTeacherOrderController extends BaseController {
     public HttpResponseResult<Boolean> payCheck(@RequestParam String orderNo) throws Exception {
         return succeed(cloudTeacherOrderService.payCheck(orderNo));
     }
+
+    @ApiOperation(value = "测试短信")
+    @GetMapping("/testsms")
+    public HttpResponseResult<Integer> testsms(@RequestParam String orderNo) throws Exception {
+        TenantOrderRecord tor = tenantOrderRecordService.getOne(new WrapperUtil<TenantOrderRecord>().hasEq("order_no_", orderNo).queryWrapper());
+        return succeed(cloudTeacherOrderService.sendSms(tor));
+    }
 }

+ 4 - 3
mec-web/src/main/java/com/ym/mec/web/controller/TenantInfoController.java

@@ -76,9 +76,10 @@ public class TenantInfoController extends BaseController {
     }
 
     @ApiOperation("查询机构产品")
-    @GetMapping(value = "/queryTenantInfoSumm/{id}")
-    public HttpResponseResult<TenantProductSumm> queryTenantInfoProductSumm(@ApiParam(value = "机构ID", required = true) @PathVariable("id") Integer id) {
-        return succeed(tenantInfoService.queryTenantInfoProductSumm(id));
+    @GetMapping(value = "/queryTenantInfoSumm")
+    public HttpResponseResult<TenantProductSumm> queryTenantInfoProductSumm() {
+        Integer tenantId = TenantContextHolder.getTenantId();
+        return succeed(tenantInfoService.queryTenantInfoProductSumm(tenantId));
     }
 
     @ApiImplicitParams({