浏览代码

筹备中乐团去掉群聊和通讯录

zouxuan 4 年之前
父节点
当前提交
a9fd08c569

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MusicGroupStatusEnum.java

@@ -3,7 +3,8 @@ package com.ym.mec.biz.dal.enums;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum MusicGroupStatusEnum implements BaseEnum<String, MusicGroupStatusEnum> {
-	DRAFT("草稿"), AUDIT("审核中"), AUDIT_FAILED("审核失败"), PRE_APPLY("预报名"), PRE_BUILD_FEE("创建缴费"), FEE_AUDIT("费用审核中"), APPLY("报名中"), PAY("缴费中"), PREPARE("筹备中"), PROGRESS(
+	DRAFT("草稿"), AUDIT("审核中"), AUDIT_FAILED("审核失败"), PRE_APPLY("预报名"), PRE_BUILD_FEE("创建缴费"),
+	FEE_AUDIT("费用审核中"), APPLY("报名中"), PAY("缴费中"), PREPARE("筹备中"), PROGRESS(
 			"进行中"), CANCELED("取消"), PAUSE("暂停"), CLOSE("关闭");
 
 	private String msg;

+ 22 - 30
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -7,6 +7,7 @@ import static com.ym.mec.biz.dal.enums.GroupType.COMM;
 import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
 import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
 import static com.ym.mec.biz.dal.enums.GroupType.VIP;
+import static com.ym.mec.biz.dal.enums.MusicGroupStatusEnum.PROGRESS;
 
 import java.math.BigDecimal;
 import java.time.Duration;
@@ -2201,23 +2202,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
 
         List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
-        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());
-            }
-        }
-
         List<ClassGroupTeacherMapper> newTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
-        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);
-            });
+        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());
+                }
+            }
+            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 (Objects.nonNull(classGroup4MixDtos.get(0).getCourseAddType()) && classGroup4MixDtos.get(0).getCourseAddType().equals("onlyUpdateTeacher")) {
             List<Integer> classGroupIds = new ArrayList<>();
@@ -2241,8 +2244,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         classGroupService.updateTotalClassTimes(classGroup.getId(), courseTimes);
 
-        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
-
         Integer schoolId = teachMode.equals(TeachModeEnum.ONLINE) ? null : musicGroup.getSchoolId();
 
         List<Subject> subjectList = subjectService.findBySubjectByIdList(classGroup.getSubjectIdList());
@@ -2271,11 +2272,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 .map(ClassGroupTeacherMapper::getUserId)
                 .collect(Collectors.toList());
 
-        //所有教师列表
-        List<Teacher> teachers = teacherDao.findByTeacherIds(allTeacherIds);
-        Map<Integer, Teacher> teacherMap = teachers.stream()
-                .collect(Collectors.toMap(Teacher::getId, teacher -> teacher));
-
         Set<String> newTeacher = newClassGroupTeacherMapperList.stream().map(
                 classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId()
         ).collect(Collectors.toSet());
@@ -2312,7 +2308,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
             Integer totalMinutes = courseTypeMinutesMap.get(classGroup4MixDto.getCourseType().getCode());
             long totalCourseDuration = 0;
-//            classGroup4MixDto.setCourseTimes(totalMinutes/(int)courseDuration);
 
             if (classGroup4MixDto.getCourseTimes() <= 0) {
                 throw new BizException("{}课程类型剩余课程时长不足", classGroup4MixDto.getCourseType().getMsg());
@@ -2398,12 +2393,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
         }
 
-        //排课处理
-//        if (classGroup.getType().equals(ClassGroupTypeEnum.SNAP)) {
-//            courseScheduleService.checkSnapCourseShchedules(courseScheduleList);
-//        } else {
         courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, false);
-//        }
 
         //老师结算表
         if (courseScheduleTeacherSalaryList.size() > 0) {
@@ -2416,7 +2406,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //学生结算表
             courseScheduleStudentPaymentService.createForMusicGroup(musicGroupId, courseScheduleList, studentIds);
         }
-        imUserFriendService.refreshClassImUserFriend(classGroupId);
+        if(musicGroup.getStatus() == PROGRESS){
+            imUserFriendService.refreshClassImUserFriend(classGroupId);
+        }
         return classGroup;
     }
 

+ 16 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -413,10 +413,10 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             oldStudentIds = classGroupStudents.stream().map(ClassGroupStudentMapper::getUserId).collect(Collectors.toSet());
             oldNormalStudentIds = classGroupStudents.stream().filter(s -> ClassGroupStudentStatusEnum.NORMAL.equals(s.getStatus())).map(ClassGroupStudentMapper::getUserId).collect(Collectors.toSet());
         }
-
+        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
         //线上基础技能班,原始分班人数不能小于3人大于6人
         if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)) {
-            MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
+
             if (studentIds.size() < 3 && musicGroup.getStatus().equals(MusicGroupStatusEnum.PREPARE)) {
                 throw new BizException("线上基础技能班人数不能少于3人");
             }
@@ -526,20 +526,26 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         if (!CollectionUtils.isEmpty(removeStudentIds)) {
             courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudents(courseIds, new ArrayList<>(removeStudentIds));
-            //5、学生退出班级群组
-            imGroupMemberService.quit(classGroup.getId().longValue(), new ArrayList<Integer>(addStudentIds));
+            if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+                //5、学生退出班级群组
+                imGroupMemberService.quit(classGroup.getId().longValue(), new ArrayList<Integer>(addStudentIds));
+            }
         }
 
         if (!CollectionUtils.isEmpty(addStudentIds)) {
             courseScheduleStudentPaymentService.createForMusicGroup(classGroup.getMusicGroupId(), classGroupNotStartCourse, new ArrayList<>(addStudentIds));
-            Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
-            for (Integer addStudentId : addStudentIds) {
-            	userRoleMap.put(addStudentId, "");
+            if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+                Map<Integer,String> userRoleMap = new HashMap<>();
+                for (Integer addStudentId : addStudentIds) {
+                    userRoleMap.put(addStudentId, "");
+                }
+                //5、添加进IM群组
+                imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
             }
-            //5、添加进IM群组
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
         }
-        imUserFriendService.refreshClassImUserFriend(classGroup.getId());
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+            imUserFriendService.refreshClassImUserFriend(classGroup.getId());
+        }
     }
 
     @Override

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2593,7 +2593,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //如果已生成课表,那么修改未上课时教学点
             courseScheduleDao.updateCourseScheduleSchool("MUSIC", musicGroupId, musicGroup.getSchoolId());
         }
-        updateTeamTeacher(group, musicGroup);
+        if(group.getStatus() != MusicGroupStatusEnum.PROGRESS){
+            updateTeamTeacher(group, musicGroup);
+        }
 
         Date date = new Date();
         //缴费方式不同
@@ -2619,7 +2621,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (subFeeSettingDto.getMusicGroupPaymentEntities() != null && subFeeSettingDto.getMusicGroupPaymentEntities().size() > 0) {
             musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(), musicGroupId);
         }
-        imUserFriendService.refreshGroupImUserFriend(musicGroupId,GroupType.MUSIC);
+        if(group.getStatus() == MusicGroupStatusEnum.PROGRESS){
+            imUserFriendService.refreshGroupImUserFriend(musicGroupId,GroupType.MUSIC);
+        }
         //记录操作日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "修改乐团基本信息数据", sysUser.getId(), JSONObject.toJSONString(subFeeSettingDto)));
     }