|
@@ -2295,6 +2295,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
if (classGroup == null) {
|
|
|
throw new BizException("班级不存在");
|
|
|
}
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
|
|
|
Boolean confirmGenerate = false;
|
|
|
if(Objects.nonNull(classGroup4MixDtos.get(0).getConfirmGenerate())){
|
|
@@ -2306,35 +2307,29 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
teachMode = TeachModeEnum.ONLINE;
|
|
|
}
|
|
|
|
|
|
- List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
|
|
|
- List<ClassGroupTeacherMapper> newTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
|
|
|
- MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
- if(musicGroup.getStatus() == PROGRESS){
|
|
|
- if (byClassGroup != null && byClassGroup.size() > 0) {
|
|
|
- ClassGroupTeacherMapper groupTeacherMapper = byClassGroup.stream().filter(classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole() == TeachTypeEnum.BISHOP).findFirst().get();
|
|
|
- if (groupTeacherMapper != null) {
|
|
|
- imGroupMemberService.quit(classGroupId.longValue(), groupTeacherMapper.getUserId());
|
|
|
+ //1、更新班级关联老师信息
|
|
|
+ if (Objects.nonNull(classGroup4MixDtos.get(0).getCourseAddType()) && classGroup4MixDtos.get(0).getCourseAddType().equals("onlyUpdateTeacher")) {
|
|
|
+ List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
|
|
|
+ List<ClassGroupTeacherMapper> newTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
|
|
|
+ if(musicGroup.getStatus() == PROGRESS){
|
|
|
+ if (byClassGroup != null && byClassGroup.size() > 0) {
|
|
|
+ ClassGroupTeacherMapper groupTeacherMapper = byClassGroup.stream().filter(classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole() == TeachTypeEnum.BISHOP).findFirst().get();
|
|
|
+ if (groupTeacherMapper != null) {
|
|
|
+ imGroupMemberService.quit(classGroupId.longValue(), groupTeacherMapper.getUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (newTeacherMapperList.size() > 0) {
|
|
|
+ //获取之前的班级老师
|
|
|
+ Set<Integer> groupTeacher = classGroupDao.findGroupTeacher(classGroupId);
|
|
|
+ groupTeacher.forEach(e -> {
|
|
|
+ imGroupMemberService.quit(classGroupId.longValue(), e);
|
|
|
+ });
|
|
|
+ newTeacherMapperList.forEach(e -> {
|
|
|
+ imGroupMemberService.join(classGroupId.longValue(), e.getUserId(), "指导老师", false);
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
- if (newTeacherMapperList.size() > 0) {
|
|
|
- //获取之前的班级老师
|
|
|
- Set<Integer> groupTeacher = classGroupDao.findGroupTeacher(classGroupId);
|
|
|
- groupTeacher.forEach(e -> {
|
|
|
- imGroupMemberService.quit(classGroupId.longValue(), e);
|
|
|
- });
|
|
|
- newTeacherMapperList.forEach(e -> {
|
|
|
- imGroupMemberService.join(classGroupId.longValue(), e.getUserId(), "指导老师", false);
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- //1、更新班级关联老师信息
|
|
|
- List<ClassGroupTeacherMapper> newClassGroupTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
|
|
|
|
|
|
- Set<Integer> noRepeatTeacherIds = newClassGroupTeacherMapperList.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toSet());
|
|
|
- if (noRepeatTeacherIds.size() != newClassGroupTeacherMapperList.size()) {
|
|
|
- throw new BizException("主教与助教存在冲突");
|
|
|
- }
|
|
|
- if (Objects.nonNull(classGroup4MixDtos.get(0).getCourseAddType()) && classGroup4MixDtos.get(0).getCourseAddType().equals("onlyUpdateTeacher")) {
|
|
|
List<Integer> classGroupIds = new ArrayList<>();
|
|
|
classGroupIds.add(classGroupId);
|
|
|
// 删除历史记录
|
|
@@ -2363,30 +2358,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
String subjectNames = subjectList.stream().map(Subject::getName).collect(Collectors.joining("/"));
|
|
|
|
|
|
- Integer teacherId = null;
|
|
|
- for (ClassGroupTeacherMapper groupTeacherMapper : newClassGroupTeacherMapperList) {
|
|
|
- groupTeacherMapper.setGroupType(classGroup.getGroupType());
|
|
|
- groupTeacherMapper.setClassGroupId(classGroup.getId());
|
|
|
- groupTeacherMapper.setMusicGroupId(classGroup4MixDtos.get(0).getMusicGroupId());
|
|
|
- if (groupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP)) {
|
|
|
- teacherId = groupTeacherMapper.getUserId();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- Set<String> newTeacher = newClassGroupTeacherMapperList.stream().map(
|
|
|
- classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId()
|
|
|
- ).collect(Collectors.toSet());
|
|
|
-
|
|
|
- List<ClassGroupTeacherMapper> oldClassGroupTeacherMapperList = classGroupTeacherMapperDao.findClassGroupTeachers(classGroup.getId().toString());
|
|
|
-
|
|
|
- Set<String> oldTeacher = oldClassGroupTeacherMapperList.stream().map(
|
|
|
- classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId()
|
|
|
- ).collect(Collectors.toSet());
|
|
|
-
|
|
|
- if (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher)) {
|
|
|
- classGroupTeacherMapperService.classGroupTeachersInsert(newClassGroupTeacherMapperList);
|
|
|
- }
|
|
|
-
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
//2、获取班级学生
|
|
@@ -2401,6 +2372,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<CourseSchedule> courseScheduleList = new ArrayList<>();
|
|
|
|
|
|
for (ClassGroup4MixDto classGroup4MixDto : classGroup4MixDtos) {
|
|
|
+
|
|
|
+ List<ClassGroupTeacherMapper> newClassGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
|
|
|
+
|
|
|
+ Set<Integer> noRepeatTeacherIds = newClassGroupTeacherMapperList.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toSet());
|
|
|
+ if (noRepeatTeacherIds.size() != newClassGroupTeacherMapperList.size()) {
|
|
|
+ throw new BizException("主教与助教存在冲突");
|
|
|
+ }
|
|
|
+
|
|
|
+ Integer teacherId = newClassGroupTeacherMapperList.stream().filter(ct->TeachTypeEnum.BISHOP.equals(ct.getTeacherRole())).findAny().get().getUserId();
|
|
|
+
|
|
|
//3、插入班级排课信息
|
|
|
LocalDateTime now = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
|
|