|
@@ -3354,6 +3354,58 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//计算新增班级的可排课时长,总课次*默认时长 (用学员剩余的课程时长加上购买的时长,可能导致同一班级学员时长不一致)
|
|
|
musicGroupStudentClassAdjust.setClassCourseMinute(JSON.toJSONString(findClassCourseMinuteMap(classGroupIds)));
|
|
|
musicGroupStudentClassAdjustDao.insert(musicGroupStudentClassAdjust);
|
|
|
+
|
|
|
+ //如果缴费项目不需要审核,那么生成班级以及课表
|
|
|
+ if(status != null && status != AUDITING){
|
|
|
+// classGroupService.classGroupAdjust(classGroup4MixDtos);
|
|
|
+ }
|
|
|
+ //如果需要审核,校验参数配置
|
|
|
+ checkMergeClassSplitClassAffirmParam(classGroup4MixDtos);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void checkMergeClassSplitClassAffirmParam(List<ClassGroup4MixDto> classGroup4MixDtos){
|
|
|
+ if (classGroup4MixDtos.get(0).getCourseTimes().compareTo(0) <= 0) {
|
|
|
+ throw new BizException("排课次数必须大于0");
|
|
|
+ }
|
|
|
+ List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
|
|
|
+ if(classGroupTeacherMapperList == null || classGroupTeacherMapperList.size() == 0){
|
|
|
+ throw new BizException("请设置上课老师");
|
|
|
+ }
|
|
|
+ Set<Integer> noRepeatTeacherIds = classGroupTeacherMapperList.stream().map(ClassGroupTeacherMapper::getUserId).collect(Collectors.toSet());
|
|
|
+ if(noRepeatTeacherIds.size()!=classGroupTeacherMapperList.size()){
|
|
|
+ throw new BizException("主教与助教存在冲突");
|
|
|
+ }
|
|
|
+ List<Integer> allTeacherIds = classGroupTeacherMapperList.stream()
|
|
|
+ .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));
|
|
|
+ for (ClassGroup4MixDto classGroup4MixDto : classGroup4MixDtos) {
|
|
|
+ for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
|
|
|
+ List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), null, null);
|
|
|
+
|
|
|
+ Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
|
|
|
+
|
|
|
+ TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(classGroup4MixDto.getCourseType());
|
|
|
+ Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
|
|
|
+ if (teacherDefaultMusicGroupSalary == null) {
|
|
|
+ throw new BizException("请设置" + teacher.getRealName() + "老师的" + classGroup4MixDto.getCourseType().getMsg() + "课酬");
|
|
|
+ }
|
|
|
+ if ((classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE) ||
|
|
|
+ classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MUSIC_NETWORK)) &&
|
|
|
+ StringUtils.isBlank(teacherDefaultMusicGroupSalary.getSalaryRuleJson())) {
|
|
|
+ throw new BizException("请设置" + teacher.getRealName() + "老师的" + classGroup4MixDto.getCourseType().getMsg() + "课酬");
|
|
|
+ } else if (teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary() == null
|
|
|
+ || teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary() == null
|
|
|
+ || teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() == null
|
|
|
+ || teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() == null) {
|
|
|
+ throw new BizException("请设置" + teacher.getRealName() + "老师的" + classGroup4MixDto.getCourseType().getMsg() + "课酬");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|