Joburgess 4 лет назад
Родитель
Сommit
bb5e5f47f2

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -175,11 +175,12 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
     PageInfo<StudentPayInfoDto> queryStudentPayLog(StudentPayLogQueryInfo studentPayLogQueryInfo);
 
     /**
-     * 班级添加学生
+     * 班级添加学生-弃用
      * @param classGroup
      * @param userId
      * @return
      */
+    @Deprecated
     ClassGroup addStudent(ClassGroup classGroup, Integer userId, GroupType groupType);
     
     /**

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupStudentMapperService.java

@@ -50,12 +50,13 @@ public interface ClassGroupStudentMapperService extends BaseService<Long, ClassG
     boolean adjustClassGroup(Integer userId,Integer oldClassGroupId,Integer classGroupId) throws Exception;
 
     /**
-     * 添加学员
+     * 添加学员-弃用
      * @param classGroupId
      * @param userIdsStr
      * @return
      * @throws Exception
      */
+    @Deprecated
     boolean addStudents(Integer classGroupId, String userIdsStr, GroupType groupType) throws Exception;
 
     /**

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2483,11 +2483,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setTeachMode(teachMode);
                     courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
                     courseSchedule.setType(classGroup4MixDto.getCourseType());
-                    if (!StringUtils.isBlank(classGroup.getName())) {
+
+                    if (classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MIX)) {
+                        courseSchedule.setName(classGroup4MixDto.getCourseType().getMsg());
+                    } else if (classGroup4MixDto.getCourseType().equals(CourseScheduleType.MUSIC_NETWORK)) {
                         courseSchedule.setName(classGroup.getName());
                     } else {
                         courseSchedule.setName(subjectNames + "-" + classGroup4MixDto.getCourseType().getMsg());
                     }
+
                     courseSchedule.setGroupType(MUSIC);
                     courseSchedule.setTeacherId(teacherId);
                     courseSchedule.setActualTeacherId(teacherId);

+ 68 - 56
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -158,68 +158,80 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         }
 
         //4、调整未上课课酬
-        List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroupId);
-        if ((classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) || classGroup.getType().equals(ClassGroupTypeEnum.HIGH)) && courseScheduleList.size() > 0) {
-            studentNum -= 1;
-            Date nowDate = new Date();
-            List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(courseScheduleList)){
             List<Long> courseScheduleIds = courseScheduleList.stream().map(CourseSchedule::getId).collect(Collectors.toList());
-            courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
-            for (CourseSchedule courseSchedule : courseScheduleList) {
-                for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
-                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacher.getUserId(), null, null);
-                    if (teacherSalaryList == null || teacherSalaryList.size() == 0) {
-                        throw new BizException("请设置老师线上网管课课酬");
-                    }
-                    Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
-                    TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(CourseSchedule.CourseScheduleType.HIGH_ONLINE);
 
-                    if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && studentNum > 5) {
-                        studentNum = 5;
-                    }
-
-                    BigDecimal salary = null;
-                    if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)){
-                        if(studentNum>0){
-                            salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
-                        }else{
-                            salary = new BigDecimal("0");
-                        }
-                    }else if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
-                        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
-                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
-                        if(Objects.isNull(teacherDefaultMusicGroupSalaryHigh)){
-                            throw new BizException("请设置老师课酬");
-                        }
-                        salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher30MinSalary();
-                        if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
-                            salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
-                        }
-                        if(Objects.isNull(salary)){
-                            throw new BizException("请设置老师课酬");
-                        }
-                        salary = salary.multiply(new BigDecimal(studentNum));
-                    }
-                    if(Objects.isNull(salary)){
-                        throw new BizException("请设置老师课酬");
-                    }
+            List<CourseScheduleTeacherSalary> oldCourseSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
 
-                    CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
-                    courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
-                    courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
-                    courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
-                    courseScheduleTeacherSalary.setTeacherRole(classGroupTeacher.getTeacherRole());
-                    courseScheduleTeacherSalary.setUserId(classGroupTeacher.getUserId());
-                    courseScheduleTeacherSalary.setExpectSalary(salary);
-                    courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
-                    courseScheduleTeacherSalary.setCreateTime(nowDate);
-                    courseScheduleTeacherSalary.setUpdateTime(nowDate);
-                    courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
-                }
+            Map<Long, CourseSchedule> idCourseMap = courseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId, c -> c, (c1, c2) -> c1));
+            for (CourseScheduleTeacherSalary oldCourseSalary : oldCourseSalaries) {
+                courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, idCourseMap.get(oldCourseSalary.getCourseScheduleId()), oldCourseSalary);
             }
-            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+            courseScheduleTeacherSalaryDao.batchUpdate(oldCourseSalaries);
         }
 
+//        List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroupId);
+//        if ((classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) || classGroup.getType().equals(ClassGroupTypeEnum.HIGH)) && courseScheduleList.size() > 0) {
+//            studentNum -= 1;
+//            Date nowDate = new Date();
+//            List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
+//            List<Long> courseScheduleIds = courseScheduleList.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+//            courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+//            for (CourseSchedule courseSchedule : courseScheduleList) {
+//                for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
+//                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacher.getUserId(), null, null);
+//                    if (teacherSalaryList == null || teacherSalaryList.size() == 0) {
+//                        throw new BizException("请设置老师线上网管课课酬");
+//                    }
+//                    Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
+//                    TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(CourseSchedule.CourseScheduleType.HIGH_ONLINE);
+//
+//                    if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && studentNum > 5) {
+//                        studentNum = 5;
+//                    }
+//
+//                    BigDecimal salary = null;
+//                    if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)){
+//                        if(studentNum>0){
+//                            salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
+//                        }else{
+//                            salary = new BigDecimal("0");
+//                        }
+//                    }else if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
+//                        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
+//                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
+//                        if(Objects.isNull(teacherDefaultMusicGroupSalaryHigh)){
+//                            throw new BizException("请设置老师课酬");
+//                        }
+//                        salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher30MinSalary();
+//                        if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+//                            salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
+//                        }
+//                        if(Objects.isNull(salary)){
+//                            throw new BizException("请设置老师课酬");
+//                        }
+//                        salary = salary.multiply(new BigDecimal(studentNum));
+//                    }
+//                    if(Objects.isNull(salary)){
+//                        throw new BizException("请设置老师课酬");
+//                    }
+//
+//                    CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+//                    courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+//                    courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
+//                    courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
+//                    courseScheduleTeacherSalary.setTeacherRole(classGroupTeacher.getTeacherRole());
+//                    courseScheduleTeacherSalary.setUserId(classGroupTeacher.getUserId());
+//                    courseScheduleTeacherSalary.setExpectSalary(salary);
+//                    courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
+//                    courseScheduleTeacherSalary.setCreateTime(nowDate);
+//                    courseScheduleTeacherSalary.setUpdateTime(nowDate);
+//                    courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
+//                }
+//            }
+//            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+//        }
+
         //5、学生退出班级群组
         imGroupMemberService.quit(classGroup.getId().longValue(), userId);
         return true;