| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |