Sfoglia il codice sorgente

fengji 团练宝缴费激活

yanite 3 anni fa
parent
commit
73575909c3

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

@@ -105,4 +105,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
     int findRecordCount(Map<String, Object> params);
 
     List<CloudTeacherStudent> queryRecord(Map<String, Object> params);
+
+    List<CloudTeacherOrder> findByPlatformOrderId(Integer id);
 }

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

@@ -420,4 +420,6 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
     List<Student> queryStudent(Map<String, Object> params);
 
     List<Map<Integer, String>> getStudentTeacherMap(List<Integer> studentIds);
+
+    int updateMembershipEndTime(@Param("studentId")Integer studentId, @Param("endTime")Date endTime);
 }

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

@@ -110,7 +110,7 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      */
     Map<String, Object> pay(List<CloudTeacherStudent> cloudTeacherStudents) throws Exception;
 
-    Msg payNotify(Msg msg);
+    Msg payNotify(Msg msg) throws Exception;
 
     Boolean payCheck(String orderNo);
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -162,4 +162,6 @@ public interface StudentService extends BaseService<Integer, Student> {
      * @return
      */
     PageInfo<CloudTeacherActiveTargetDetailDto> countCloudTeacherActiveDetail(CloudTeacherActiveQueryInfo queryInfo);
+
+    int updateMembershipEndTime(Integer studentId, Date endTime);
 }

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

@@ -66,10 +66,11 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             cloudTeacherOrder.setTime(cloudTeacherAddQueryInfo.getTimes());
             cloudTeacherOrder.setType(cloudTeacherAddQueryInfo.getAddType());
             cloudTeacherOrder.setLevel(1);
+            cloudTeacherOrder.setTenantId(cloudTeacherAddQueryInfo.getTenantId());
             cloudTeacherOrderDao.insert(cloudTeacherOrder);
             this.addStudentCloudTeacher(cloudTeacherOrder);
         }
-        return false;
+        return true;
     }
 
     @Override
@@ -155,6 +156,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         if (cloudTeacherStudents.size() == 0) {
             throw new Exception("至少选择一条记录");
         }
+
         Integer tenantId = null;
         for (CloudTeacherStudent cts: cloudTeacherStudents) {
             if (cts.getAmount() == null) {
@@ -207,7 +209,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public Msg payNotify(Msg msg) {
+    public Msg payNotify(Msg msg) throws Exception {
         log.info("tenant orderNotify >>>>> " + msg.toString());
         msg.setMsg("fail");
         Map<String, String> notifyMap = JSON.parseObject(msg.getResponseParameters(), Map.class);
@@ -224,7 +226,15 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             //            DealStatusEnum
             //            notifyMap.put("totalMoney", notifyMap.get("payAmount"));
             log.info("tenant orderNotify update order status start" + record.getId().toString());
-            cloudTeacherOrderDao.updateOrderStatusOK(record.getId());
+
+            if (cloudTeacherOrderDao.updateOrderStatusOK(record.getId()) <= 0) {
+                throw new Exception("更新订单状态失败");
+            }
+            List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderDao.findByPlatformOrderId(record.getId());
+            for (CloudTeacherOrder cto : cloudTeacherOrders) {
+                studentService.updateMembershipEndTime(cto.getStudentId(), cto.getEndTime());
+            }
+
             log.info("tenant orderNotify update order status end");
             record.setOrderState(1);
             msg.setCode("000000");

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -1224,4 +1224,9 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public int updateMembershipEndTime(Integer studentId, Date endTime) {
+        return studentDao.updateMembershipEndTime(studentId, endTime);
+    }
 }

+ 7 - 3
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -121,6 +121,10 @@
         where id_ = #{id} AND version_ = #{version} and tenant_id_ = #{tenantId}
     </update>
 
+    <select id="findByPlatformOrderId" resultType="com.ym.mec.biz.dal.entity.CloudTeacherOrder">
+        select * from cloud_teacher_order where platform_order_id_ = #{platformOrderId}
+    </select>
+
     <update id="updateOrderStatusOK">
         update cloud_teacher_order set status_ = 2,
        `start_time_` = CURRENT_DATE(),
@@ -131,7 +135,7 @@
          when type_ = 4 then date_add(CURRENT_DATE(), interval `time_` * 6 month)
          when type_ = 5 then date_add(CURRENT_DATE(), interval `time_` * 12 month)
         end
-        where platform_order_id_ = (#{platformOrderId})
+        where platform_order_id_ = #{platformOrderId}
     </update>
     <update id="updateOrderId">
         update cloud_teacher_order
@@ -336,7 +340,7 @@
         left join subject sj on s.subject_id_list_ = sj.id_
         left join student_registration sr ON cto.student_id_ = sr.user_id_
         <where>
-            cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId}
+            cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId} AND cto.tenant_id_ = #{tenantId}
             <if test="queryCondition != null and queryCondition != ''">
                 AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
             </if>
@@ -354,7 +358,7 @@
         left join subject sj on s.subject_id_list_ = sj.id_
         left join student_registration sr ON cto.student_id_ = sr.user_id_
         <where>
-            cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId}
+            cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId} AND cto.tenant_id_ = #{tenantId}
             <if test="queryCondition != null and queryCondition != ''">
                 AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
             </if>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1382,6 +1382,9 @@
         AND sr.music_group_status_ = 'NORMAL' AND mg.course_view_type_ != 2 AND mg.`status_` = 'PROGRESS'
         GROUP BY sr.user_id_)t)
     </update>
+    <update id="updateMembershipEndTime">
+        update student set membership_end_time_ = #{endTime} where user_id_ = #{studentId}
+    </update>
 
     <select id="queryStudent" resultMap="Student">
         SELECT s.*,su.username_,su.phone_,o.name_ organ_name_,sb.name_ subject_name_ FROM student s

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/CloudTeacherOrderController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
 import com.ym.mec.biz.dal.page.CloudTeacherAddQueryInfo;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
@@ -82,7 +83,7 @@ public class CloudTeacherOrderController extends BaseController {
     @ApiOperation(value ="支付回调")
     @PostMapping("/payNotify")
     // @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/payNotify')")
-    public Msg payNotify(@ModelAttribute Msg msg) {
+    public Msg payNotify(@ModelAttribute Msg msg) throws Exception {
         return cloudTeacherOrderService.payNotify(msg);
     }