Browse Source

1、陪练课调整
2、付费陪练课

Joburgess 5 years ago
parent
commit
888c3ae2e3

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -25,6 +25,15 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
                                                             @Param("endDate") Date endDate);
 
     /**
+     * @describe 获取学生的免费陪练课
+     * @author Joburgess
+     * @date 2020/2/24
+     * @param userId:
+     * @return com.ym.mec.biz.dal.entity.PracticeGroup
+     */
+    PracticeGroup getUserFreePracticeGroup(@Param("userId") Integer userId);
+
+    /**
      * @describe 批量更新
      * @author Joburgess
      * @date 2020/2/23

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -39,6 +39,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     STUDENT_PUSH_ONLINE_COURSE_ACTION("STUDENT_PUSH_ONLINE_COURSE_ACTION", "线上课开始"),
     PUSH_TEACHER_COURSE_COLLIDE("PUSH_TEACHER_COURSE_COLLIDE", "课程冲突"),
     PAY_PRACTICE_BUY_SUCCESS("PAY_PRACTICE_BUY_SUCCESS", "陪练课购买成功"),
+    PRACTICE_COMPLETED_STUDY_REPORT("PRACTICE_COMPLETED_STUDY_REPORT", "陪练课完成学习报告"),
     STUDENT_PUSH_NAMES_ACHIEVE("STUDENT_PUSH_NAMES_ACHIEVE", "点名完成"),
     SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),
     STUDENT_SMS_TEACHING_SCHOOL_CHANGE("STUDENT_SMS_TEACHING_SCHOOL_CHANGE", "教学点变动"),

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -97,7 +97,9 @@
 		VALUES(#{id},#{name},#{subjectId},#{userId},#{studentId},#{singleClassMinutes},#{organId},#{coursesStartDate},#{coursesExpireDate},NOW(),NOW(),#{memo},#{buyMonths},#{drillTimesOnWeek},#{drillTimesJson},#{groupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 	</insert>
 	
-	
+	<select id="getUserFreePracticeGroup" resultMap="PracticeGroup">
+		SELECT * FROM practice_group WHERE student_id_=#{userId} AND buy_months_ IS NULL
+	</select>
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="PracticeGroup" parameterType="map">

+ 50 - 0
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -2,12 +2,20 @@ package com.ym.mec.student.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.PracticeGroupDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.PracticeGroupBuyDto;
+import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.PracticeGroupService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +39,15 @@ public class PracticeGroupController extends BaseController {
     private SysUserFeignService sysUserFeignService;
     List<Integer> excludeOrganIds=new ArrayList<>(Arrays.asList(new Integer[]{36}));
 
+    @Autowired
+    private SysMessageService sysMessageService;
+    @Autowired
+    private PracticeGroupDao practiceGroupDao;
+    @Autowired
+    private ClassGroupDao classGroupDao;
+    @Autowired
+    private SysConfigDao sysConfigDao;
+
     @ApiOperation("获取学生的陪练课")
     @GetMapping(value = "/findUserPracticeCourses")
     public Object findUserPracticeCourses(){
@@ -187,4 +204,37 @@ public class PracticeGroupController extends BaseController {
         return practiceGroupService.repay(sysUser.getId(),groupId);
     }
 
+    @ApiOperation("陪练课完成报告推送")
+    @GetMapping(value = "/reportPush")
+    public HttpResponseResult reportPush(Integer userId, String pushType){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+        PracticeGroup userFreePracticeGroup = practiceGroupDao.getUserFreePracticeGroup(userId);
+        ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(userFreePracticeGroup.getId().toString(), GroupType.PRACTICE.getCode());
+
+        String pushUrl = baseApiUrl + "/#/reportDetail?classGroupId=" + classGroup.getId();
+
+        String smsUrl = baseApiUrl + "/#/transfer?url=http://mstudev.dayaedu.com&hash=reportDetail&classGroupId=" + classGroup.getId();
+
+        SysUser student = sysUserFeignService.queryUserById(userId);
+
+        if(pushType.equals("ALL")||pushType.equals("JIGUANG")){
+            Map<Integer, String> userMap = new HashMap<>();
+            userMap.put(userId, userId.toString());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_COMPLETED_STUDY_REPORT,
+                    userMap, null, 0, "4?" + pushUrl, "STUDENT", pushUrl);
+        }
+
+        if(pushType.equals("ALL")||pushType.equals("SMS")){
+            Map<Integer, String> userPhoneMap = new HashMap<>();
+            userPhoneMap.put(userId, student.getPhone());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.PRACTICE_COMPLETED_STUDY_REPORT,
+                    userPhoneMap, null, 0, null, "STUDENT", smsUrl);
+        }
+
+        return succeed();
+    }
 }