Joburgess 5 년 전
부모
커밋
26649202fd

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -141,4 +141,5 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @return java.util.List<java.util.Map<java.lang.String,java.math.BigDecimal>>
 	 */
 	List<Map<String, BigDecimal>> countTeacherOnlineOfflineSalaryByClass(@Param("classGroupId") Integer classGroupId);
+
 }

+ 49 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -564,21 +564,57 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		CourseSchedule courseSchedule1 = courseScheduleDao.get(courseScheduleId1);
 		CourseSchedule courseSchedule2 = courseScheduleDao.get(courseScheduleId2);
 
+		//获取两个课程的主教、助教
+		List<Long> courseScheduleIds=new ArrayList<>();
+		courseScheduleIds.add(courseScheduleId1);
+		courseScheduleIds.add(courseScheduleId2);
+		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
+		Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeacherSalaryByCourse = courseScheduleTeacherSalaries.stream()
+				.collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+		//课程1的主教、助教
+		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries1 = courseScheduleTeacherSalaryByCourse.get(courseScheduleId1);
+		//课程2的主教、助教
+		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries2 = courseScheduleTeacherSalaryByCourse.get(courseScheduleId2);
+
+		Map<TeachTypeEnum, List<CourseScheduleTeacherSalary>> ct1 = courseScheduleTeacherSalaries1.stream()
+				.collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole));
+
+		Map<TeachTypeEnum, List<CourseScheduleTeacherSalary>> ct2 = courseScheduleTeacherSalaries2.stream()
+				.collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole));
+
+		//交换两节课的主教、助教
+		if(Objects.nonNull(ct1.get(TeachTypeEnum.BISHOP))){
+			courseSchedule1.setActualTeacherId(ct1.get(TeachTypeEnum.BISHOP).get(0).getUserId());
+		}else{
+			courseSchedule1.setActualTeacherId(null);
+		}
+		if(Objects.nonNull(ct2.get(TeachTypeEnum.BISHOP))){
+			courseSchedule2.setActualTeacherId(ct2.get(TeachTypeEnum.BISHOP).get(0).getUserId());
+		}else{
+			courseSchedule2.setActualTeacherId(null);
+		}
+		List<CourseScheduleTeacherSalary> ct1t = ct1.get(TeachTypeEnum.TEACHING);
+		if(CollectionUtils.isEmpty(ct1t)){
+			courseSchedule1.setTeachingTeacherIdList(null);
+		}else{
+			List<Integer> collect = ct1t.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
+			collect.stream().distinct();
+			courseSchedule1.setTeachingTeacherIdList(collect);
+		}
+		List<CourseScheduleTeacherSalary> ct2t = ct2.get(TeachTypeEnum.TEACHING);
+		if(CollectionUtils.isEmpty(ct2t)){
+			courseSchedule2.setTeachingTeacherIdList(null);
+		}else{
+			List<Integer> collect = ct2t.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
+			collect.stream().distinct();
+			courseSchedule2.setTeachingTeacherIdList(collect);
+		}
 		courseSchedule1.setId(courseScheduleId2);
 		courseSchedule2.setId(courseScheduleId1);
-
-		List<CourseSchedule> courseSchedules = courseScheduleDao.findCourseSchedulesByIds(new Long[]{courseScheduleId1, courseScheduleId2});
-
-		CourseSchedule temp=new CourseSchedule();
-		BeanUtils.copyProperties(courseSchedules.get(0),temp);
-		courseSchedules.get(0).setClassDate(courseSchedules.get(1).getClassDate());
-		courseSchedules.get(0).setStartClassTime(courseSchedules.get(1).getStartClassTime());
-		courseSchedules.get(0).setEndClassTime(courseSchedules.get(1).getEndClassTime());
-		courseSchedules.get(1).setClassDate(temp.getClassDate());
-		courseSchedules.get(1).setStartClassTime(temp.getStartClassTime());
-		courseSchedules.get(1).setEndClassTime(temp.getEndClassTime());
-		courseScheduleDao.update(courseSchedules.get(0));
-		courseScheduleDao.update(courseSchedules.get(1));
+		List<CourseSchedule> courseSchedules=new ArrayList<>();
+		courseSchedules.add(courseSchedule1);
+		courseSchedules.add(courseSchedule2);
+		classStartDateAdjust(courseSchedules);
 	}
 
 	@Override

+ 13 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -4,12 +4,14 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.biz.service.StudentAttendanceService;
-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;
@@ -53,6 +55,8 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	private MusicGroupQuitDao musicGroupQuitDao;
 	@Autowired
 	private SysMessageService sysMessageService;
+	@Autowired
+	private TeacherDao teacherDao;
 
 	@Override
 	public BaseDAO<Long, StudentAttendance> getDAO() {
@@ -199,8 +203,14 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		ClassGroupStudentMapper classGroupStudentMapper = classGroupStudentMapperDao.query(courseSchedule.getClassGroupId(), userId);
 		classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.LEAVE);
 		classGroupStudentMapperDao.update(classGroupStudentMapper);
-		
+
+		Map<Integer,String> sendArgs=new HashMap<>();
+		sendArgs.put(courseSchedule.getActualTeacherId(),teacherDao.get(courseSchedule.getActualTeacherId()).getPhone());
 		//发送消息至老师
+		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
+				MessageTypeEnum.TEACHER_PUSH_STUDENT_LEAVE,
+				sendArgs,
+				null,0,null,courseSchedule.getName(),null);
 		
 		return true;
 	}

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

@@ -513,7 +513,7 @@
             LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
             LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
         <include refid="teachingRecordQueryCondition"/>
-        ORDER BY cs.id_
+        ORDER BY start_class_time_
         <include refid="global.limit"/>
     </select>
     <select id="countTeachingRecord" resultType="int">