Browse Source

1、服务指标逻辑调整;
2、本周应布置课外训练推送;

Joburgess 5 năm trước cách đây
mục cha
commit
d7a9a9d4a9

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -73,5 +73,14 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
      */
     StudentExtracurricularExercisesSituation findStudentExercisesSituationsWithMonDay(@Param("monday") String monday,
                                                                           @Param("studentId") Integer studentId);
-	
+
+    /**
+     * @describe 获取还需布置课外训练的老师,及布置学生数量
+     * @author Joburgess
+     * @date 2020.06.03
+     * @param monday:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Long>>
+     */
+    List<Map<Integer, Long>> getNoFinishedServiceTeacher(@Param("monday") String monday);
+
 }

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

@@ -41,6 +41,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     PAY_PRACTICE_BUY_SUCCESS("PAY_PRACTICE_BUY_SUCCESS", "网管课购买成功"),
     PRACTICE_COMPLETED_STUDY_REPORT("PRACTICE_COMPLETED_STUDY_REPORT", "网管课完成学习报告"),
     PRACTICE_RENEW_REMIND_PUSH("PRACTICE_RENEW_REMIND_PUSH", "网管课续费推送"),
+    PUBLIC_EXTRA_REMIND("PUBLIC_EXTRA_REMIND", "本周应布置课外训练"),
     FREE_PRACTICE_APPLY_PUSH("FREE_PRACTICE_APPLY_PUSH", "免费陪练课预约推送"),
     STUDENT_PUSH_NAMES_ACHIEVE("STUDENT_PUSH_NAMES_ACHIEVE", "点名完成"),
     SCHEDULE_CHANGE("SCHEDULE_CHANGE", "课表变动"),

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesService.java

@@ -38,4 +38,12 @@ public interface ExtracurricularExercisesService extends BaseService<Long, Extra
      */
     List<BasicUserDto> getDontServeStudents(Integer teacherId, String search);
 
+    /**
+     * @describe 应布置课外训练提醒
+     * @author Joburgess
+     * @date 2020.06.03
+     * @return void
+     */
+    void studentServeRemind();
+
 }

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.ExtracurricularExercisesDao;
 import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
+import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
@@ -41,6 +42,8 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 	@Autowired
 	private ExtracurricularExercisesReplyDao extracurricularExercisesReplyDao;
 	@Autowired
+	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
+	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
 	private TeacherDao teacherDao;
@@ -166,4 +169,18 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 		LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
 		return extracurricularExercisesDao.findNoExercisesStudentsInThisWeekWithTeacher(teacherId, monDayDate.toString(), search);
 	}
+
+	@Override
+	public void studentServeRemind() {
+		LocalDate nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
+		LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
+		List<Map<Integer, Long>> noFinishedServiceTeacher = studentExtracurricularExercisesSituationDao.getNoFinishedServiceTeacher(monDayDate.toString());
+		Map<Integer, Long> noFinishedServiceTeacherMap= MapUtil.convertIntegerMap(noFinishedServiceTeacher);
+		for (Map.Entry<Integer, Long> integerLongEntry : noFinishedServiceTeacherMap.entrySet()) {
+			Map<Integer, String> userMap = new HashMap<>();
+			userMap.put(integerLongEntry.getKey(), integerLongEntry.getKey().toString());
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUBLIC_EXTRA_REMIND,
+					userMap, null, 0, "11" , "TEACHER", integerLongEntry.getValue());
+		}
+	}
 }

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -299,4 +299,18 @@
     <select id="findStudentExercisesSituationsWithMonDay" resultMap="StudentExtracurricularExercisesSituation">
 		SELECT * FROM student_extracurricular_exercises_situation_ WHERE monday_=#{monday} AND student_id_=#{studentId}
 	</select>
+    <select id="getNoFinishedServiceTeacher" resultType="java.util.Map">
+		SELECT
+			teacher_id_ AS 'key',
+			COUNT( student_id_ ) AS 'value'
+		FROM
+			student_extracurricular_exercises_situation_
+		WHERE
+			actual_exercises_num_ = 0
+			AND serve_type_ = 'EXERCISE'
+			AND monday_ = #{monday}
+			AND teacher_id_ IS NOT NULL
+		GROUP BY
+			teacher_id_
+	</select>
 </mapper>

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

@@ -58,6 +58,9 @@ public class TaskController extends BaseController {
 
 	@Autowired
 	private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
+
+	@Autowired
+	private ExtracurricularExercisesService extracurricularExercisesService;
 	
 	@Autowired
 	private StudentService studentService;
@@ -251,4 +254,10 @@ public class TaskController extends BaseController {
 	public void pushTeacherExceptionAttendanceTask() {
 		teacherAttendanceService.pushTeacherExceptionAttendanceTask();
 	}
+
+	//应布置课外训练提醒
+	@GetMapping("/studentServeRemind")
+	public void studentServeRemind(){
+		extracurricularExercisesService.studentServeRemind();
+	}
 }