|
@@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ym.mec.biz.dal.enums.ComplaintsStatusEnum.REPEAL;
|
|
|
import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*;
|
|
@@ -432,6 +433,15 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
Integer minutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.SIGN_OUT_MESSAGE_PUSH_MINUTE));;
|
|
|
|
|
|
List<Mapper> list = teacherAttendanceDao.queryNoSignOutListByOverMinutes(minutes);
|
|
|
+ if(CollectionUtils.isEmpty(list)){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ List<Long> courseScheduleIds = list.stream().map(m -> m.getCourseScheduleId().longValue()).collect(Collectors.toList());
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalarys = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
|
|
|
+ Map<Long, List<CourseScheduleTeacherSalary>> courseTeacherSalaryMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleTeacherSalarys)){
|
|
|
+ courseTeacherSalaryMap = courseScheduleTeacherSalarys.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
|
|
|
+ }
|
|
|
|
|
|
for (Mapper mapper : list) {
|
|
|
Map<Integer, String> receivers = new HashMap<Integer, String>();
|
|
@@ -440,9 +450,19 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
|
|
|
String key = "SignOut_" + userId + "_" + mapper.getCourseScheduleId();
|
|
|
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseTeacherSalaryMap.get(mapper.getCourseScheduleId().longValue());
|
|
|
+ TeachTypeEnum teachType = TeachTypeEnum.BISHOP;
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
+ if(mapper.getKey().equals(courseScheduleTeacherSalary.getUserId())){
|
|
|
+ teachType = courseScheduleTeacherSalary.getTeacherRole();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (!redisCache.exists(key)) {
|
|
|
sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_OUT_MESSAGE, receivers, null, 0,
|
|
|
- "5?courseScheduleId=" + mapper.getCourseScheduleId(), "TEACHER", mapper.getValue());
|
|
|
+ "5?courseScheduleId=" + mapper.getCourseScheduleId() + "&teacherRole=" + teachType.getCode(), "TEACHER", mapper.getValue());
|
|
|
redisCache.put(key, 1, (int) DateUtil.getTomorrowZeroSeconds());
|
|
|
}
|
|
|
}
|