|
@@ -61,27 +61,23 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
|
|
|
- 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);
|
|
|
- }
|
|
|
+ String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
|
|
|
//老师加入群组
|
|
|
List<ImGroupMember> imGroupMemberList = new ArrayList<>();
|
|
|
- String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
|
|
|
-
|
|
|
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) {
|
|
|
imGroupMemberList.clear();
|
|
|
//原设置的老师删除群组
|
|
|
for (ClassGroupTeacherMapper classGroupTeacherMapper : oldClassGroupTeacherMapper) {
|
|
|
if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue;
|
|
|
imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
|
|
|
+ oldTeacher.add(classGroupTeacherMapper.getClassGroupId() + classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId());
|
|
|
}
|
|
|
if (imGroupMemberList.size() > 0) {
|
|
|
ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
|
|
@@ -94,12 +90,22 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
|
|
|
classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
|
|
|
imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
|
|
|
+ newTeacher.add(classGroupTeacherMapper.getClassGroupId() + classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId());
|
|
|
}
|
|
|
ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
|
|
|
imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
|
|
|
}
|
|
|
classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList);
|
|
|
|
|
|
+ //老师不相同删除老师未开始的课程
|
|
|
+ if (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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
|
|
|
}
|
|
|
|