|
@@ -69,6 +69,43 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
|
|
|
|
|
|
List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList, GroupType.MUSIC);
|
|
|
|
|
|
+ for (ClassGroup classGroup : classGroups) {
|
|
|
+ imGroupMemberList.clear();
|
|
|
+ //原设置的老师删除群组
|
|
|
+ for (ClassGroupTeacherMapper classGroupTeacherMapper : oldClassGroupTeacherMapper) {
|
|
|
+ if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue;
|
|
|
+ imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
|
|
|
+ }
|
|
|
+ if (imGroupMemberList.size() > 0) {
|
|
|
+ ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
|
|
|
+ imFeignService.groupQuit(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
|
|
|
+ }
|
|
|
+ // 新设置的老师加入群组
|
|
|
+ imGroupMemberList.clear();
|
|
|
+ for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
+ if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue;
|
|
|
+ classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
+ classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
|
|
|
+ imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
|
|
|
+ }
|
|
|
+ ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
|
|
|
+ imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
|
|
|
+ }
|
|
|
+ classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList);
|
|
|
+
|
|
|
+ return classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList, boolean checkCourser) {
|
|
|
+ String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
|
|
|
+ //老师加入群组
|
|
|
+ List<ImGroupMember> imGroupMemberList = new ArrayList<>();
|
|
|
+ List<ClassGroup> classGroups = classGroupService.findClassGroupByIds(classGroupIds);
|
|
|
+
|
|
|
+ List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList, GroupType.MUSIC);
|
|
|
+
|
|
|
Set<String> oldTeacher = new HashSet<>();
|
|
|
Set<String> newTeacher = new HashSet<>();
|
|
|
for (ClassGroup classGroup : classGroups) {
|
|
@@ -98,11 +135,11 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
|
|
|
classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList);
|
|
|
|
|
|
//老师不相同删除老师未开始的课程
|
|
|
- if (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher)){
|
|
|
+ if (checkCourser && (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher))) {
|
|
|
String musicGroupId = classGroupTeacherMapperList.get(0).getMusicGroupId();
|
|
|
List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, GroupType.MUSIC.getCode(), CourseStatusEnum.NOT_START.getCode());
|
|
|
- if(musicGroupCourseSchedules != null && musicGroupCourseSchedules.size() >0){
|
|
|
- courseScheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId,GroupType.MUSIC);
|
|
|
+ if (musicGroupCourseSchedules != null && musicGroupCourseSchedules.size() > 0) {
|
|
|
+ courseScheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId, GroupType.MUSIC);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -428,7 +465,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
|
|
|
return courseScheduleTeacherSalary;
|
|
|
}
|
|
|
|
|
|
- public List<ClassGroupTeacherMapper> getClassGroupTeachers(Integer classGroupId){
|
|
|
+ public List<ClassGroupTeacherMapper> getClassGroupTeachers(Integer classGroupId) {
|
|
|
return classGroupTeacherMapperDao.findClassGroupTeachers(classGroupId.toString());
|
|
|
}
|
|
|
}
|