|  | @@ -1211,6 +1211,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          Map<CourseScheduleType, BigDecimal> totalPriceMap = new HashMap<CourseSchedule.CourseScheduleType, BigDecimal>();
 | 
	
		
			
				|  |  |          Map<CourseScheduleType, BigDecimal> totalOrignPriceMap = new HashMap<CourseSchedule.CourseScheduleType, BigDecimal>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        List<CourseSchedule> allNotStartCourses = new ArrayList<>();
 | 
	
		
			
				|  |  | +        Map<Integer, List<ClassGroupTeacherMapper>> ctm = new HashMap<>();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          BigDecimal unitPrice = new BigDecimal(0);
 | 
	
		
			
				|  |  |          BigDecimal originUnitPrice = new BigDecimal(0);
 | 
	
		
			
				|  |  |          CourseScheduleType courseType = null;
 | 
	
	
		
			
				|  | @@ -1275,63 +1278,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //4、调整未上课课酬
 | 
	
		
			
				|  |  | -            List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroup.getId());
 | 
	
		
			
				|  |  | -            if ((classGroup.getType().equals(HIGH_ONLINE) || classGroup.getType().equals(HIGH)) && courseScheduleList.size() > 0) {
 | 
	
		
			
				|  |  | -                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);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        int studentNum = classGroup.getStudentNum() + 1;
 | 
	
		
			
				|  |  | -                        if (classGroup.getType().equals(HIGH_ONLINE) && studentNum > 5) {
 | 
	
		
			
				|  |  | -                            studentNum = 5;
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        BigDecimal salary = null;
 | 
	
		
			
				|  |  | -                        if(classGroup.getType().equals(HIGH_ONLINE)){
 | 
	
		
			
				|  |  | -                            salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
 | 
	
		
			
				|  |  | -                        }else if(classGroup.getType().equals(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("请设置老师课酬");
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | +            if(!CollectionUtils.isEmpty(courseScheduleList)){
 | 
	
		
			
				|  |  | +                allNotStartCourses.addAll(courseScheduleList);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        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);
 | 
	
		
			
				|  |  | +            List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroup.getId());
 | 
	
		
			
				|  |  | +            if(!CollectionUtils.isEmpty(classGroupTeachers)){
 | 
	
		
			
				|  |  | +                ctm.put(classGroup.getId(), classGroupTeachers);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // 5、加入班级群组
 | 
	
	
		
			
				|  | @@ -1360,6 +1313,34 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              studentDao.updateStudentServiceTag(studentId,null,YesOrNoEnum.YES.getCode());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        //4、调整未上课课酬
 | 
	
		
			
				|  |  | +        if (allNotStartCourses.size() > 0) {
 | 
	
		
			
				|  |  | +            Date nowDate = new Date();
 | 
	
		
			
				|  |  | +            List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
 | 
	
		
			
				|  |  | +            List<Long> courseScheduleIds = allNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
 | 
	
		
			
				|  |  | +            for (CourseSchedule courseSchedule : allNotStartCourses) {
 | 
	
		
			
				|  |  | +                if(!ctm.containsKey(courseSchedule.getClassGroupId())){
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                List<ClassGroupTeacherMapper> classGroupTeachers = ctm.get(courseSchedule.getClassGroupId());
 | 
	
		
			
				|  |  | +                for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
 | 
	
		
			
				|  |  | +                    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.setClassGroupId(courseSchedule.getClassGroupId());
 | 
	
		
			
				|  |  | +                    courseScheduleTeacherSalary.setCreateTime(nowDate);
 | 
	
		
			
				|  |  | +                    courseScheduleTeacherSalary.setUpdateTime(nowDate);
 | 
	
		
			
				|  |  | +                    courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, courseSchedule, courseScheduleTeacherSalary);
 | 
	
		
			
				|  |  | +                    courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |