ソースを参照

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into saas

yonge 3 年 前
コミット
e7f39287fd

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CloudTeacherAddQueryInfo.java

@@ -0,0 +1,43 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+public class CloudTeacherAddQueryInfo extends QueryInfo {
+
+
+	@ApiModelProperty(value = "学生编号数组")
+	private List<Integer> studentIds;
+
+	@ApiModelProperty(value = "类型 1-天, 2-月 3-季, 4-半年, 5-年")
+	private Integer addType;
+
+	@ApiModelProperty(value = "数量")
+	private Integer times;
+
+	public List<Integer> getStudentIds() {
+		return studentIds;
+	}
+
+	public void setStudentIds(List<Integer> studentIds) {
+		this.studentIds = studentIds;
+	}
+
+	public Integer getAddType() {
+		return addType;
+	}
+
+	public void setAddType(Integer addType) {
+		this.addType = addType;
+	}
+
+	public Integer getTimes() {
+		return times;
+	}
+
+	public void setTimes(Integer times) {
+		this.times = times;
+	}
+}

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

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.CloudTeacher;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.page.CloudTeacherAddQueryInfo;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -114,4 +115,6 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
     Boolean payCheck(String orderNo);
 
     PageInfo<CloudTeacherStudent> queryActiveRecord(CloudTeacherOrderQueryInfo cloudTeacherOrderQueryInfo);
+
+    boolean addStudents(CloudTeacherAddQueryInfo cloudTeacherAddQueryInfo);
 }

+ 34 - 25
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -6,12 +6,12 @@ import java.util.stream.Collectors;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import com.ym.mec.biz.dal.enums.TenantOrderRecordEnum;
+import com.ym.mec.biz.dal.page.CloudTeacherAddQueryInfo;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.page.PageInfo;
@@ -59,6 +59,19 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     }
 
     @Override
+    public boolean addStudents(CloudTeacherAddQueryInfo cloudTeacherAddQueryInfo) {
+        for (Integer stId : cloudTeacherAddQueryInfo.getStudentIds()) {
+            CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
+            cloudTeacherOrder.setStudentId(stId);
+            cloudTeacherOrder.setTime(cloudTeacherAddQueryInfo.getTimes());
+            cloudTeacherOrder.setType(cloudTeacherAddQueryInfo.getAddType());
+            cloudTeacherOrderDao.insert(cloudTeacherOrder);
+            this.addStudentCloudTeacher(cloudTeacherOrder);
+        }
+        return false;
+    }
+
+    @Override
     public PageInfo<CloudTeacherStudent> queryActiveRecord(CloudTeacherOrderQueryInfo queryInfo) {
         PageInfo<CloudTeacherStudent> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
@@ -210,6 +223,7 @@ 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());
             log.info("tenant orderNotify update order status end");
             record.setOrderState(1);
@@ -306,18 +320,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             cloudTeacher = new CloudTeacher();
             startTime = DateUtil.trunc(nowDate);
             endBaseTime = startTime;
-            if (cloudTeacherOrder.getType().equals(1)) { // 日
-                endTime = DateUtil.addDays(startTime, cloudTeacherOrder.getTime());
-            } else if (cloudTeacherOrder.getType().equals(2)) { // 月
-                endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime());
-            } else if (cloudTeacherOrder.getType().equals(3)) { // 季
-                endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime() * 3);
-            } else if (cloudTeacherOrder.getType().equals(4)) { // 半年
-                endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime() * 6);
-            } else if (cloudTeacherOrder.getType().equals(5)) { // 年
-                endTime = DateUtil.addYears(startTime, cloudTeacherOrder.getTime());
-            }
-        cloudTeacher.setStudentId(cloudTeacherOrder.getStudentId());
+            endTime = calcCloudTeacherOrderTime(cloudTeacherOrder, startTime, endTime);
+            cloudTeacher.setStudentId(cloudTeacherOrder.getStudentId());
             cloudTeacher.setLevel(cloudTeacherOrder.getLevel());
             cloudTeacher.setStartTime(startTime);
             cloudTeacher.setEndTime(endTime);
@@ -329,17 +333,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
                 startTime = DateUtil.trunc(nowDate);
                 endBaseTime = startTime;
             }
-            if (cloudTeacherOrder.getType().equals(1)) { // 日
-                endTime = DateUtil.addDays(endBaseTime, cloudTeacherOrder.getTime());
-            } else if (cloudTeacherOrder.getType().equals(2)) { // 月
-                endTime = DateUtil.addMonths(endBaseTime, cloudTeacherOrder.getTime());
-            } else if (cloudTeacherOrder.getType().equals(3)) { // 季
-                endTime = DateUtil.addMonths(endBaseTime, cloudTeacherOrder.getTime() * 3);
-            } else if (cloudTeacherOrder.getType().equals(4)) { // 半年
-                endTime = DateUtil.addMonths(endBaseTime, cloudTeacherOrder.getTime() * 6);
-            } else if (cloudTeacherOrder.getType().equals(5)) { // 年
-                endTime = DateUtil.addYears(endBaseTime, cloudTeacherOrder.getTime());
-            }
+            endTime = calcCloudTeacherOrderTime(cloudTeacherOrder, endBaseTime, endTime);
             cloudTeacher.setStartTime(startTime);
             cloudTeacher.setEndTime(endTime);
             cloudTeacher.setUpdateTime(nowDate);
@@ -349,13 +343,28 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         }
         cloudTeacherOrder.setStartTime(endBaseTime);
         cloudTeacherOrder.setEndTime(endTime);
-        cloudTeacherOrder.setStatus(2);
+        cloudTeacherOrder.setStatus(1);
         if (cloudTeacherOrderDao.update(cloudTeacherOrder) <= 0) {
             throw new BizException("云教练生效处理失败");
         }
         return cloudTeacher;
     }
 
+    private Date calcCloudTeacherOrderTime(CloudTeacherOrder cloudTeacherOrder, Date startTime, Date endTime) {
+        if (cloudTeacherOrder.getType().equals(1)) { // 日
+            endTime = DateUtil.addDays(startTime, cloudTeacherOrder.getTime());
+        } else if (cloudTeacherOrder.getType().equals(2)) { // 月
+            endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime());
+        } else if (cloudTeacherOrder.getType().equals(3)) { // 季
+            endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime() * 3);
+        } else if (cloudTeacherOrder.getType().equals(4)) { // 半年
+            endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime() * 6);
+        } else if (cloudTeacherOrder.getType().equals(5)) { // 年
+            endTime = DateUtil.addYears(startTime, cloudTeacherOrder.getTime());
+        }
+        return endTime;
+    }
+
     @Override
     public List<CloudTeacherOrder> getStudentCloudTeacherOrders(List<Integer> studentIds, String musicGroupId) {
         return cloudTeacherOrderDao.getStudentCloudTeacherOrders(studentIds, musicGroupId);

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

@@ -355,7 +355,17 @@
         </where>
     </select>
     <select id="findRecordCount" resultType="java.lang.Integer">
-
+        SELECT count(1) FROM cloud_teacher_order cto
+        LEFT JOIN tenant_order_record tor ON tor.id_ = cto.order_id_
+        LEFT JOIN student s ON cto.student_id_ = s.user_id_
+        LEFT JOIN sys_user u ON cto.student_id_ = u.id_
+        LEFT JOIN SUBJECT sj ON s.subject_id_list_ = sj.id_
+        LEFT JOIN student_registration sr ON cto.student_id_ = sr.user_id_
+        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        <where>
+            cto.status_ = 2 AND sr.music_group_status_ = 'NORMAL' AND mg.status_ = 'PROGRESS' and tor.order_no_ is not null
+            AND cto.type_ > 1
+        </where>
     </select>
     <select id="queryRecord" resultType="com.ym.mec.biz.dal.entity.CloudTeacherStudent">
         SELECT

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

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
+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.common.controller.BaseController;
@@ -27,6 +28,13 @@ public class CloudTeacherOrderController extends BaseController {
     private CloudTeacherOrderService cloudTeacherOrderService;
 
 
+    @ApiOperation(value ="手动添加会员")
+    @PostMapping("/addStudents")
+    // @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/addStudents')")
+    public Object addStudents(@RequestBody CloudTeacherAddQueryInfo cloudTeacherAddQueryInfo) throws Exception {
+        return succeed(cloudTeacherOrderService.addStudents(cloudTeacherAddQueryInfo));
+    }
+
     @ApiOperation(value ="查询未激活团练宝用户")
     @PostMapping("/queryInactive")
     // @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/queryUnActive')")
@@ -50,6 +58,18 @@ public class CloudTeacherOrderController extends BaseController {
         return succeed(cloudTeacherOrderService.queryActiveRecord(cloudTeacherOrderQueryInfo));
     }
 
+    @ApiOperation(value ="激活记录")
+    @PostMapping("/testPayNotify")
+    // @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/queryActive')")
+    public Object testPayNotify(CloudTeacherOrderQueryInfo cloudTeacherOrderQueryInfo) throws Exception {
+        Msg msg = new Msg();
+        msg.setResponseParameters("{\"order_no_\":21122217101500001, \"merMerOrderNo\": 9888888, \"channelType\": 1}");
+        msg.setResponseType("1");
+        msg.setCode("88");
+        return succeed(cloudTeacherOrderService.payNotify(msg));
+    }
+
+
     @ApiOperation(value ="激活团练宝用户")
     @PostMapping("/pay")
     // @PreAuthorize("@pcs.hasPermissions('cloudTeacherOrder/pay')")