瀏覽代碼

add 提醒老师填写月度报告定时任务

周箭河 5 年之前
父節點
當前提交
e6b9e4a269

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

@@ -112,7 +112,9 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     BACKSTAGE_STUDENT_APPLY_QUIT_GROUP("BACKSTAGE_STUDENT_APPLY_QUIT_GROUP", "学员申请退团"),
     BACKSTAGE_STUDENT_APPLY_QUIT_COURSE("BACKSTAGE_STUDENT_APPLY_QUIT_COURSE", "学员申请退课"),
     BACKSTAGE_STUDENT_APPLY_WITHDRAW("BACKSTAGE_STUDENT_APPLY_WITHDRAW", "学员申请提现"),
-    PUSH_STUDY_REPORT("PUSH_STUDY_REPORT", "陪练报告");
+    PUSH_STUDY_REPORT("PUSH_STUDY_REPORT", "陪练报告"),
+    NEED_POST_STUDY_REPORT("NEED_POST_STUDY_REPORT", "新增待填写月报");
+
 
     MessageTypeEnum(String code, String msg) {
         this.code = code;

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

@@ -1,16 +1,8 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
-import com.ym.mec.biz.dal.entity.TeacherCourseStatistics;
-import com.ym.mec.biz.dal.page.TeacherCourseStatisticsQueryInfo;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 
 public interface CourseScheduleEvaluateService extends BaseService<Long, CourseScheduleEvaluate> {
@@ -56,4 +48,9 @@ public interface CourseScheduleEvaluateService extends BaseService<Long, CourseS
      * @return
      */
     boolean updateStudyReport(CourseScheduleEvaluate courseScheduleEvaluate);
+
+    /**
+     * 推栋需填写报告给老师
+     */
+    void pushNeedPostReport();
 }

+ 29 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleEvaluateServiceImpl.java

@@ -2,19 +2,20 @@ package com.ym.mec.biz.service.impl;
 
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleEvaluateDao;
-import com.ym.mec.biz.dal.dao.PracticeGroupDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.CourseScheduleEvaluateService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -38,6 +39,10 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
     private PracticeGroupDao practiceGroupDao;
     @Autowired
     private RedisCache<String, Object> redisCache;
+    @Autowired
+    private SysMessageService sysMessageService;
+    @Autowired
+    private SysConfigDao sysConfigDao;
 
     @Override
     public BaseDAO<Long, CourseScheduleEvaluate> getDAO() {
@@ -178,4 +183,24 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
         }
         return true;
     }
+
+    @Override
+    public void pushNeedPostReport() {
+        List<CourseScheduleEvaluate> needPostReports = courseScheduleEvaluateDao.getNeedPostReports(null);
+        if (needPostReports.size() == 0) {
+            return;
+        }
+        Map<Integer, List<CourseScheduleEvaluate>> teacherEvaluates = needPostReports.stream().collect(Collectors.groupingBy(CourseScheduleEvaluate::getTeacherId));
+        String teacherBaseUrl = sysConfigDao.findConfigValue(SysConfigService.TEACHER_BASE_URL);
+
+        String pushUrl = teacherBaseUrl + "/#/tobeReport";
+        Map<Integer, String> userMap = new HashMap<>();
+        for (Map.Entry<Integer, List<CourseScheduleEvaluate>> integerListEntry : teacherEvaluates.entrySet()) {
+            userMap.put(integerListEntry.getKey(), integerListEntry.getKey().toString());
+        }
+
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.NEED_POST_STUDY_REPORT,
+                userMap, null, 0, "5?" + pushUrl, "TEACHER");
+
+    }
 }

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

@@ -208,7 +208,7 @@
     </select>
 
     <select id="getNeedPostReports" resultMap="CourseScheduleEvaluate">
-        SELECT cse.id_,DATE_FORMAT(cse.create_time_,'%Y年%m月') month_,pg.name_ group_name_ FROM course_schedule_evaluate cse
+        SELECT cse.id_,DATE_FORMAT(cse.create_time_,'%Y年%m月') month_,pg.name_ group_name_,cse.teacher_id_ FROM course_schedule_evaluate cse
         LEFT JOIN practice_group pg on cse.music_group_id_ = pg.id_ WHERE status_= 0
         <if test="teacherId != null">
             AND cse.teacher_id_ = #{teacherId}

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -83,4 +83,8 @@ public interface TaskRemoteService {
 	//练习报告定时推送
 	@GetMapping("task/pushStudyReport")
 	void pushStudyReport();
+
+	//新增待填写月报定时推送(推送老师)
+	@GetMapping("task/pushNeedPostReport")
+	void pushNeedPostReport();
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -105,4 +105,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void pushStudyReport() {
 		logger.info("练习报告推送失败");
 	}
+
+	@Override
+	public void pushNeedPostReport() {
+		logger.info("新增待填写月报推送失败");
+	}
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/NeedPostReportTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class NeedPostReportTask extends BaseTask {
+
+    @Autowired
+    private TaskRemoteService taskRemoteService;
+
+    @Override
+    public void execute() throws TaskException {
+        taskRemoteService.pushStudyReport();
+    }
+}

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudyReportController.java

@@ -39,7 +39,7 @@ public class StudyReportController extends BaseController {
         return succeed(courseScheduleEvaluateService.getStudyReport(classGroupId));
     }
 
-    @ApiOperation(value = "课程组评论列表")
+    @ApiOperation(value = "课程组报告列表")
     @GetMapping("getGroupReviews")
     public Object getGroupReviews(Integer groupId) {
         List<CourseScheduleEvaluate> courseScheduleEvaluates = courseScheduleEvaluateService.findByGroupId(groupId,null);

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -42,6 +42,9 @@ public class TaskController extends BaseController {
 	@Autowired
 	private PracticeGroupService practiceGroupService;
 
+	@Autowired
+	private CourseScheduleEvaluateService courseScheduleEvaluateService;
+
 	@GetMapping("/refreshPaymentFeeStatus")
 	// 刷新付费状态
 	public void refreshPaymentFeeStatus() {
@@ -156,4 +159,10 @@ public class TaskController extends BaseController {
 		practiceGroupService.pushStudyReport(null, "JIGUANG");
 	}
 
+	//新增待填写月报定时推送(推送老师)
+	@GetMapping("/pushNeedPostReport")
+	public void pushNeedPostReport(){
+		courseScheduleEvaluateService.pushNeedPostReport();
+	}
+
 }