|  | @@ -26,7 +26,6 @@ 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.*;
 | 
	
	
		
			
				|  | @@ -220,32 +219,28 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 | 
	
		
			
				|  |  |  				teacherAttendanceDao.insert(teacherAttendance);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -			//新增课堂作业
 | 
	
		
			
				|  |  |  			CourseHomework courseHomework = courseHomeworkDao.findByCourseSchedule(teacherAttendance.getCourseScheduleId());
 | 
	
		
			
				|  |  | -			if(Objects.nonNull(courseHomework)&&StringUtils.isNotBlank(courseHomework.getContent())){
 | 
	
		
			
				|  |  | -				if(Objects.isNull(courseHomework)){
 | 
	
		
			
				|  |  | -					courseHomework=teacherSignOutDto.getCourseHomeworkInfo();
 | 
	
		
			
				|  |  | -					courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());
 | 
	
		
			
				|  |  | -					courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 | 
	
		
			
				|  |  | -					courseHomework.setGroupType(teacherAttendance.getGroupType());
 | 
	
		
			
				|  |  | -					courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
 | 
	
		
			
				|  |  | -					courseHomework.setExpiryDate(DateUtil.addDays(date,7));
 | 
	
		
			
				|  |  | -					courseHomework.setExpectNum(courseScheduleDao.countCourseStudentNum(teacherAttendance.getCourseScheduleId()));
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				courseHomework.setContent(courseHomework.getContent());
 | 
	
		
			
				|  |  | -				courseHomework.setAttachments(courseHomework.getAttachments());
 | 
	
		
			
				|  |  | -				if(Objects.isNull(courseHomework)){
 | 
	
		
			
				|  |  | -					courseHomeworkService.insert(courseHomework);
 | 
	
		
			
				|  |  | -					List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao
 | 
	
		
			
				|  |  | -							.constructInitialStudentHomeworkRecordsWithPayment(teacherAttendance.getCourseScheduleId(),
 | 
	
		
			
				|  |  | -									courseHomework.getId());
 | 
	
		
			
				|  |  | -					if(CollectionUtils.isEmpty(studentCourseHomeworks)){
 | 
	
		
			
				|  |  | -						throw new BizException("此课程没有学生");
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | -					studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 | 
	
		
			
				|  |  | -				}else{
 | 
	
		
			
				|  |  | -					courseHomeworkService.update(courseHomework);
 | 
	
		
			
				|  |  | +			if(Objects.isNull(courseHomework)){
 | 
	
		
			
				|  |  | +				//新增课堂作业
 | 
	
		
			
				|  |  | +				courseHomework=teacherSignOutDto.getCourseHomeworkInfo();
 | 
	
		
			
				|  |  | +				courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());
 | 
	
		
			
				|  |  | +				courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 | 
	
		
			
				|  |  | +				courseHomework.setGroupType(teacherAttendance.getGroupType());
 | 
	
		
			
				|  |  | +				courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
 | 
	
		
			
				|  |  | +				courseHomework.setExpiryDate(DateUtil.addDays(date,7));
 | 
	
		
			
				|  |  | +				courseHomework.setExpectNum(courseScheduleDao.countCourseStudentNum(teacherAttendance.getCourseScheduleId()));
 | 
	
		
			
				|  |  | +				courseHomeworkService.insert(courseHomework);
 | 
	
		
			
				|  |  | +				List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao
 | 
	
		
			
				|  |  | +						.constructInitialStudentHomeworkRecordsWithPayment(teacherAttendance.getCourseScheduleId(),
 | 
	
		
			
				|  |  | +								courseHomework.getId());
 | 
	
		
			
				|  |  | +				if(CollectionUtils.isEmpty(studentCourseHomeworks)){
 | 
	
		
			
				|  |  | +					throw new BizException("此课程没有学生");
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | +				studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 | 
	
		
			
				|  |  | +			}else{
 | 
	
		
			
				|  |  | +				courseHomework.setContent(teacherSignOutDto.getCourseHomeworkInfo().getContent());
 | 
	
		
			
				|  |  | +				courseHomework.setAttachments(teacherSignOutDto.getCourseHomeworkInfo().getAttachments());
 | 
	
		
			
				|  |  | +				courseHomeworkService.update(courseHomework);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			return result;
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -442,19 +437,6 @@ 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<CourseSchedule> courseSchedules = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
 | 
	
		
			
				|  |  | -		Map<Long, CourseSchedule> idCourseMap = courseSchedules.stream().collect(Collectors.toMap(CourseSchedule::getId, c -> c, (c1, c2) -> c1));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -		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>();
 | 
	
	
		
			
				|  | @@ -463,22 +445,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			String key = "SignOut_" + userId + "_" + mapper.getCourseScheduleId();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -			CourseSchedule courseSchedule = idCourseMap.get(mapper.getCourseScheduleId().longValue());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -			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() + "&teacherRole=" + teachType.getCode(), "TEACHER",
 | 
	
		
			
				|  |  | -						mapper.getValue() + (Objects.isNull(courseSchedule)?"":("(" + courseSchedule.getStartClassTime() + ")")));
 | 
	
		
			
				|  |  | +						"5?courseScheduleId=" + mapper.getCourseScheduleId(), "TEACHER", mapper.getValue());
 | 
	
		
			
				|  |  |  				redisCache.put(key, 1, (int) DateUtil.getTomorrowZeroSeconds());
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 |