|  | @@ -274,14 +274,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          // 加入IM群组
 | 
	
		
			
				|  |  |          if (userIdList.size() > 0) {
 | 
	
		
			
				|  |  |              addImGroup(classGroup, userIdList, teacherIdList);
 | 
	
		
			
				|  |  | -        }else {
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  |              MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  | -            Map<Integer,String> userRoleMap = new HashMap<>();
 | 
	
		
			
				|  |  | +            Map<Integer, String> userRoleMap = new HashMap<>();
 | 
	
		
			
				|  |  |              userRoleMap.put(musicGroup.getEducationalTeacherId(), "乐团主管");
 | 
	
		
			
				|  |  |              userRoleMap.put(musicGroup.getTeamTeacherId(), "运营主管");
 | 
	
		
			
				|  |  |              userRoleMap.put(musicGroup.getDirectorUserId(), "乐队指导");
 | 
	
		
			
				|  |  | -            if(teacherIdList != null && teacherIdList.size() > 0){
 | 
	
		
			
				|  |  | -                for(Integer teacherId : teacherIdList){
 | 
	
		
			
				|  |  | +            if (teacherIdList != null && teacherIdList.size() > 0) {
 | 
	
		
			
				|  |  | +                for (Integer teacherId : teacherIdList) {
 | 
	
		
			
				|  |  |                      userRoleMap.put(teacherId, "指导老师");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -806,11 +806,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          List<CourseListDto> musicCourse = classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds, ","), userId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<CourseSchedule> musicGroupCourses = new ArrayList<>();
 | 
	
		
			
				|  |  | -        if(!CollectionUtils.isEmpty(musicGroupIds)){
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(musicGroupIds)) {
 | 
	
		
			
				|  |  |              musicGroupCourses = courseScheduleDao.findCourseByGroupIds(musicGroupIds, MUSIC);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          Map<String, Map<TeachModeEnum, Long>> musicGroupTeachModeNumMap = new HashMap<>();
 | 
	
		
			
				|  |  | -        if(!CollectionUtils.isEmpty(musicGroupCourses)){
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(musicGroupCourses)) {
 | 
	
		
			
				|  |  |              musicGroupTeachModeNumMap = musicGroupCourses.stream().collect(Collectors.groupingBy(CourseSchedule::getMusicGroupId, Collectors.groupingBy(CourseSchedule::getTeachMode, Collectors.counting())));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -824,8 +824,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          Set<String> practiceGroupId = practiceCourse.stream().map(e -> e.getPracticeId()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Map<Long, PracticeGroupType> practiceGroupTypeMap = new HashMap<>();
 | 
	
		
			
				|  |  | -        if(!CollectionUtils.isEmpty(practiceGroupId)){
 | 
	
		
			
				|  |  | -            List<PracticeCourseDto> practiceGroups = practiceGroupDao.getPracticeGroupByIds(practiceGroupId.stream().map(id->Long.valueOf(id)).collect(Collectors.toList()));
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(practiceGroupId)) {
 | 
	
		
			
				|  |  | +            List<PracticeCourseDto> practiceGroups = practiceGroupDao.getPracticeGroupByIds(practiceGroupId.stream().map(id -> Long.valueOf(id)).collect(Collectors.toList()));
 | 
	
		
			
				|  |  |              practiceGroupTypeMap = practiceGroups.stream().collect(Collectors.toMap(PracticeCourseDto::getId, PracticeCourseDto::getType));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -906,13 +906,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                          e.setStudyReportUrl(baseUrl + "/#/reportDetailNew?id=" + courseScheduleEvaluate.getId() + "&classGroupId=" + e.getClassGroupId());
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if(Objects.nonNull(e.getPracticeId())&&practiceGroupTypeMap.containsKey(Long.valueOf(e.getPracticeId()))){
 | 
	
		
			
				|  |  | -                    if(PracticeGroupType.CARE_PACKAGE.equals(practiceGroupTypeMap.get(Long.valueOf(e.getPracticeId()))))
 | 
	
		
			
				|  |  | +                if (Objects.nonNull(e.getPracticeId()) && practiceGroupTypeMap.containsKey(Long.valueOf(e.getPracticeId()))) {
 | 
	
		
			
				|  |  | +                    if (PracticeGroupType.CARE_PACKAGE.equals(practiceGroupTypeMap.get(Long.valueOf(e.getPracticeId()))))
 | 
	
		
			
				|  |  |                          e.setPracticeType(2);
 | 
	
		
			
				|  |  | -                    else if(PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroupTypeMap.get(Long.valueOf(e.getPracticeId()))))
 | 
	
		
			
				|  |  | +                    else if (PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroupTypeMap.get(Long.valueOf(e.getPracticeId()))))
 | 
	
		
			
				|  |  |                          e.setPracticeType(3);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -            }else if (ClassGroupTypeEnum.VIP == e.getType()) {
 | 
	
		
			
				|  |  | +            } else if (ClassGroupTypeEnum.VIP == e.getType()) {
 | 
	
		
			
				|  |  |                  e.setStudentNames(vipStuNames.get(e.getVipId()));
 | 
	
		
			
				|  |  |                  //1:线上;2:线下;3:线上+线下
 | 
	
		
			
				|  |  |                  if (e.getOnlineClassesNum() > 0 && e.getOffLineClassesNum() <= 0) {
 | 
	
	
		
			
				|  | @@ -924,15 +924,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      e.setClassMode(0);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -            }else{
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  Long onlineCourseNum = 0L;
 | 
	
		
			
				|  |  |                  Long offlineCourseNum = 0L;
 | 
	
		
			
				|  |  | -                if(musicGroupTeachModeNumMap.containsKey(e.getMusicId())){
 | 
	
		
			
				|  |  | +                if (musicGroupTeachModeNumMap.containsKey(e.getMusicId())) {
 | 
	
		
			
				|  |  |                      Map<TeachModeEnum, Long> teachModeCourseNumMap = musicGroupTeachModeNumMap.get(e.getMusicId());
 | 
	
		
			
				|  |  | -                    if(teachModeCourseNumMap.containsKey(TeachModeEnum.ONLINE)){
 | 
	
		
			
				|  |  | +                    if (teachModeCourseNumMap.containsKey(TeachModeEnum.ONLINE)) {
 | 
	
		
			
				|  |  |                          onlineCourseNum = teachModeCourseNumMap.get(TeachModeEnum.ONLINE);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if(teachModeCourseNumMap.containsKey(TeachModeEnum.OFFLINE)){
 | 
	
		
			
				|  |  | +                    if (teachModeCourseNumMap.containsKey(TeachModeEnum.OFFLINE)) {
 | 
	
		
			
				|  |  |                          offlineCourseNum = teachModeCourseNumMap.get(TeachModeEnum.OFFLINE);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -1119,24 +1119,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      BigDecimal salary = null;
 | 
	
		
			
				|  |  | -                    if(classGroup.getType().equals(HIGH_ONLINE)){
 | 
	
		
			
				|  |  | +                    if (classGroup.getType().equals(HIGH_ONLINE)) {
 | 
	
		
			
				|  |  |                          salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
 | 
	
		
			
				|  |  | -                    }else if(classGroup.getType().equals(HIGH)){
 | 
	
		
			
				|  |  | +                    } else if (classGroup.getType().equals(HIGH)) {
 | 
	
		
			
				|  |  |                          MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  |                          TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
 | 
	
		
			
				|  |  | -                        if(Objects.isNull(teacherDefaultMusicGroupSalaryHigh)){
 | 
	
		
			
				|  |  | +                        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)){
 | 
	
		
			
				|  |  | +                        if (Objects.isNull(salary)) {
 | 
	
		
			
				|  |  |                              throw new BizException("请设置老师课酬");
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          salary = salary.multiply(new BigDecimal(studentNum));
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if(Objects.isNull(salary)){
 | 
	
		
			
				|  |  | +                    if (Objects.isNull(salary)) {
 | 
	
		
			
				|  |  |                          throw new BizException("请设置老师课酬");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1204,8 +1204,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          List<Integer> classGroupIds = classGroupList.stream().map(ClassGroup::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |          List<CourseScheduleStudentPayment> ccs = courseScheduleStudentPaymentDao.getWithClassGroupIds(classGroupIds, studentId);
 | 
	
		
			
				|  |  |          Set<Long> existCourseIds = new HashSet<>();
 | 
	
		
			
				|  |  | -        if(!CollectionUtils.isEmpty(ccs)){
 | 
	
		
			
				|  |  | -            existCourseIds = ccs.stream().map(CourseScheduleStudentPayment::getCourseScheduleId).collect(Collectors.toSet());;
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(ccs)) {
 | 
	
		
			
				|  |  | +            existCourseIds = ccs.stream().map(CourseScheduleStudentPayment::getCourseScheduleId).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | +            ;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Map<CourseScheduleType, BigDecimal> totalPriceMap = new HashMap<CourseSchedule.CourseScheduleType, BigDecimal>();
 | 
	
	
		
			
				|  | @@ -1234,7 +1235,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              // 3、学生加入级未开始课程
 | 
	
		
			
				|  |  |              List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  |              for (CourseSchedule courseSchedule : courseScheduleList) {
 | 
	
		
			
				|  |  | -                if(existCourseIds.contains(courseSchedule.getId())){
 | 
	
		
			
				|  |  | +                if (existCourseIds.contains(courseSchedule.getId())) {
 | 
	
		
			
				|  |  |                      throw new BizException("该学员已在此班级{}课程中", courseSchedule.getId());
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1310,7 +1311,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              courseScheduleStudentPaymentService.batchInsert(courseScheduleStudentPayments);
 | 
	
		
			
				|  |  | -            studentDao.updateStudentServiceTag(studentId,null,YesOrNoEnum.YES.getCode());
 | 
	
		
			
				|  |  | +            studentDao.updateStudentServiceTag(studentId, null, YesOrNoEnum.YES.getCode());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //4、调整未上课课酬
 | 
	
	
		
			
				|  | @@ -1436,7 +1437,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public List<TeacherClassGroupDto> findTeacherClassGroups(String type,String status, String groupName) {
 | 
	
		
			
				|  |  | +    public List<TeacherClassGroupDto> findTeacherClassGroups(String type, String status, String groupName) {
 | 
	
		
			
				|  |  |          SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  |          if (Objects.isNull(user)) {
 | 
	
		
			
				|  |  |              throw new BizException("请登录");
 | 
	
	
		
			
				|  | @@ -1449,13 +1450,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          List<TeacherClassGroupDto> teacherMusicClassGroup;
 | 
	
		
			
				|  |  |          switch (type) {
 | 
	
		
			
				|  |  |              case "VIP":
 | 
	
		
			
				|  |  | -                teacherMusicClassGroup = classGroupDao.findTeacherVipClassGroup(user.getId().longValue(),status,groupName);
 | 
	
		
			
				|  |  | +                teacherMusicClassGroup = classGroupDao.findTeacherVipClassGroup(user.getId().longValue(), status, groupName);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case "MUSIC_GROUP":
 | 
	
		
			
				|  |  | -                teacherMusicClassGroup = classGroupDao.findTeacherMusicClassGroup(user.getId().longValue(),groupName);
 | 
	
		
			
				|  |  | +                teacherMusicClassGroup = classGroupDao.findTeacherMusicClassGroup(user.getId().longValue(), groupName);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case "PRACTICE":
 | 
	
		
			
				|  |  | -                teacherMusicClassGroup = classGroupDao.findTeacherPracticeClassGroup(user.getId().longValue(),status, groupName);
 | 
	
		
			
				|  |  | +                teacherMusicClassGroup = classGroupDao.findTeacherPracticeClassGroup(user.getId().longValue(), status, groupName);
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              default:
 | 
	
		
			
				|  |  |                  throw new BizException("课程类型错误");
 | 
	
	
		
			
				|  | @@ -1708,7 +1709,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                      .filter(studentAttendanceViewDto -> studentAttendanceViewDto.getGroupType().equals("MUSIC"))
 | 
	
		
			
				|  |  |                      .collect(Collectors.toList());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if (!CollectionUtils.isEmpty(tempIds)&&schedule.getGroupType() == MUSIC) {
 | 
	
		
			
				|  |  | +            if (!CollectionUtils.isEmpty(tempIds) && schedule.getGroupType() == MUSIC) {
 | 
	
		
			
				|  |  |                  List<Map<Integer, String>> studentSubjectNameMaps = subjectDao.findStudentSubjectNameMaps(tempIds);
 | 
	
		
			
				|  |  |                  Map<Integer, String> studentSubjectNameMap = MapUtil.convertIntegerMap(studentSubjectNameMaps);
 | 
	
		
			
				|  |  |                  List<Map<Integer, Long>> studentSubjectIdMaps = subjectDao.findStudentSubjectIdMaps(tempIds);
 | 
	
	
		
			
				|  | @@ -1717,12 +1718,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                      studentAttendanceViewDto.setSubjectName(studentSubjectNameMap.get(studentAttendanceViewDto.getStudentId().intValue()));
 | 
	
		
			
				|  |  |                      studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId().intValue()));
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  | -            }else if(schedule.getGroupType() != MUSIC){
 | 
	
		
			
				|  |  | +            } else if (schedule.getGroupType() != MUSIC) {
 | 
	
		
			
				|  |  |                  ClassGroup classGroup = classGroupDao.get(schedule.getClassGroupId());
 | 
	
		
			
				|  |  |                  Subject subject = subjectDao.get(Integer.valueOf(classGroup.getSubjectIdList()));
 | 
	
		
			
				|  |  |                  truantStudent.forEach(studentAttendanceViewDto -> {
 | 
	
		
			
				|  |  |                      studentAttendanceViewDto.setSubjectName(subject.getName());
 | 
	
		
			
				|  |  | -                    studentAttendanceViewDto.setSubjectId(Objects.nonNull(subject.getId())?subject.getId().longValue():0);
 | 
	
		
			
				|  |  | +                    studentAttendanceViewDto.setSubjectId(Objects.nonNull(subject.getId()) ? subject.getId().longValue() : 0);
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -1767,7 +1768,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          if (musicGroup == null) {
 | 
	
		
			
				|  |  |              throw new BizException("乐团不存在");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(classGroup4MixDtos.get(0).getOnlyCreateClassGroup() == null){
 | 
	
		
			
				|  |  | +        if (classGroup4MixDtos.get(0).getOnlyCreateClassGroup() == null) {
 | 
	
		
			
				|  |  |              classGroup4MixDtos.get(0).setOnlyCreateClassGroup(false);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (!classGroup4MixDtos.get(0).getOnlyCreateClassGroup() && classGroup4MixDtos.get(0).getCourseTimes().compareTo(0) <= 0) {
 | 
	
	
		
			
				|  | @@ -2278,7 +2279,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Boolean confirmGenerate = false;
 | 
	
		
			
				|  |  | -        if(Objects.nonNull(classGroup4MixDtos.get(0).getConfirmGenerate())){
 | 
	
		
			
				|  |  | +        if (Objects.nonNull(classGroup4MixDtos.get(0).getConfirmGenerate())) {
 | 
	
		
			
				|  |  |              confirmGenerate = classGroup4MixDtos.get(0).getConfirmGenerate();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2290,7 +2291,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
 | 
	
		
			
				|  |  |          List<ClassGroupTeacherMapper> newTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
 | 
	
		
			
				|  |  |          MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  | -        if(musicGroup.getStatus() == PROGRESS){
 | 
	
		
			
				|  |  | +        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) {
 | 
	
	
		
			
				|  | @@ -2397,7 +2398,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              int totalCourseTimes = 0;
 | 
	
		
			
				|  |  |              int generateCourseTimes = 0;
 | 
	
		
			
				|  |  | -            if(!CollectionUtils.isEmpty(classGroup4MixDto.getCourseTimeDtoList())){
 | 
	
		
			
				|  |  | +            if (!CollectionUtils.isEmpty(classGroup4MixDto.getCourseTimeDtoList())) {
 | 
	
		
			
				|  |  |                  totalCourseTimes = classGroup4MixDto.getCourseTimeDtoList().stream().mapToInt(CourseTimeDto::getExpectCourseNum).reduce(0, Integer::sum);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2414,7 +2415,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                      if (courseTimeDto.getDayOfWeek() < 1 || courseTimeDto.getDayOfWeek() > 7) {
 | 
	
		
			
				|  |  |                          throw new BizException("排课循环周期错误,请核查");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if(Objects.isNull(courseTimeDto.getStartDate())||Objects.isNull(courseTimeDto.getEndDate())){
 | 
	
		
			
				|  |  | +                    if (Objects.isNull(courseTimeDto.getStartDate()) || Objects.isNull(courseTimeDto.getEndDate())) {
 | 
	
		
			
				|  |  |                          throw new BizException("排课循环周期错误,请核查");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2427,13 +2428,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      Date classDate = DateConvertor.toDate(now);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    if(courseTimeDto.getStartDate().compareTo(classDate)>0
 | 
	
		
			
				|  |  | -                            ||courseTimeDto.getEndDate().compareTo(classDate)<0
 | 
	
		
			
				|  |  | -                            ||courseTimeDto.getExpectCourseNum()<=courseTimeDto.getCourseNum()){
 | 
	
		
			
				|  |  | -                        if(courseTimeDto.getEndDate().compareTo(classDate)<0&&courseTimeDto.getExpectCourseNum()>courseTimeDto.getCourseNum()){
 | 
	
		
			
				|  |  | +                    if (courseTimeDto.getStartDate().compareTo(classDate) > 0
 | 
	
		
			
				|  |  | +                            || courseTimeDto.getEndDate().compareTo(classDate) < 0
 | 
	
		
			
				|  |  | +                            || courseTimeDto.getExpectCourseNum() <= courseTimeDto.getCourseNum()) {
 | 
	
		
			
				|  |  | +                        if (courseTimeDto.getEndDate().compareTo(classDate) < 0 && courseTimeDto.getExpectCourseNum() > courseTimeDto.getCourseNum()) {
 | 
	
		
			
				|  |  |                              throw new BizException("在指定的排课时间段内({}-{})无法完成预计课时数的排课", DateUtil.dateToString(courseTimeDto.getStartDate(), "yyyy.MM.dd"), DateUtil.dateToString(courseTimeDto.getEndDate(), "yyyy.MM.dd"));
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | -                        if(totalCourseTimes<=generateCourseTimes){
 | 
	
		
			
				|  |  | +                        if (totalCourseTimes <= generateCourseTimes) {
 | 
	
		
			
				|  |  |                              break WhileNode;
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          continue;
 | 
	
	
		
			
				|  | @@ -2450,10 +2451,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  //                        break WhileNode;
 | 
	
		
			
				|  |  |  //                    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    courseTimeDto.setCourseNum(courseTimeDto.getCourseNum()+1);
 | 
	
		
			
				|  |  | -                    generateCourseTimes+=1;
 | 
	
		
			
				|  |  | +                    courseTimeDto.setCourseNum(courseTimeDto.getCourseNum() + 1);
 | 
	
		
			
				|  |  | +                    generateCourseTimes += 1;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    if(totalCourseTimes<generateCourseTimes){
 | 
	
		
			
				|  |  | +                    if (totalCourseTimes < generateCourseTimes) {
 | 
	
		
			
				|  |  |                          break WhileNode;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2466,7 +2467,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                      courseSchedule.setStatus(CourseStatusEnum.NOT_START);
 | 
	
		
			
				|  |  |                      courseSchedule.setClassDate(classDate);
 | 
	
		
			
				|  |  |                      courseSchedule.setStartClassTime(DateUtil.stringToDate(startClassTime));
 | 
	
		
			
				|  |  | -                    if(date.compareTo(courseSchedule.getStartClassTime())>0){
 | 
	
		
			
				|  |  | +                    if (date.compareTo(courseSchedule.getStartClassTime()) > 0) {
 | 
	
		
			
				|  |  |                          throw new BizException("课程开始时间不得早于当前时间");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      courseSchedule.setEndClassTime(DateUtil.stringToDate(endClassTime));
 | 
	
	
		
			
				|  | @@ -2500,9 +2501,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                          courseScheduleTeacherSalary.setUpdateTime(date);
 | 
	
		
			
				|  |  |                          courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(musicGroup, courseSchedule, courseScheduleTeacherSalary);
 | 
	
		
			
				|  |  |                          courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
 | 
	
		
			
				|  |  | -                        if(confirmGenerate&&!classGroup4MixDto.getAllowZeroSalary()&&BigDecimal.ZERO.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
 | 
	
		
			
				|  |  | +                        if (confirmGenerate && !classGroup4MixDto.getAllowZeroSalary() && BigDecimal.ZERO.compareTo(courseScheduleTeacherSalary.getExpectSalary()) == 0) {
 | 
	
		
			
				|  |  |                              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                            return BaseController.failed(HttpStatus.MULTI_STATUS,"当前课程课酬预计为0,是否继续");
 | 
	
		
			
				|  |  | +                            return BaseController.failed(HttpStatus.MULTI_STATUS, "当前课程课酬预计为0,是否继续");
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -2517,7 +2518,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, false);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(!confirmGenerate){
 | 
	
		
			
				|  |  | +        if (!confirmGenerate) {
 | 
	
		
			
				|  |  |              TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |              courseScheduleList.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 | 
	
		
			
				|  |  |              return BaseController.failed(HttpStatus.PARTIAL_CONTENT, courseScheduleList, "");
 | 
	
	
		
			
				|  | @@ -2534,7 +2535,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              //学生结算表
 | 
	
		
			
				|  |  |              courseScheduleStudentPaymentService.createForMusicGroup(musicGroupId, courseScheduleList, studentIds);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(musicGroup.getStatus() == PROGRESS){
 | 
	
		
			
				|  |  | +        if (musicGroup.getStatus() == PROGRESS) {
 | 
	
		
			
				|  |  |              imUserFriendService.refreshClassImUserFriend(classGroupId);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return BaseController.succeed(classGroup);
 | 
	
	
		
			
				|  | @@ -2549,7 +2550,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          if (musicGroup == null) {
 | 
	
		
			
				|  |  |              throw new BizException("乐团不存在");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(classGroup4MixDtos.get(0).getOnlyCreateClassGroup() == null){
 | 
	
		
			
				|  |  | +        if (classGroup4MixDtos.get(0).getOnlyCreateClassGroup() == null) {
 | 
	
		
			
				|  |  |              classGroup4MixDtos.get(0).setOnlyCreateClassGroup(false);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (!classGroup4MixDtos.get(0).getOnlyCreateClassGroup() && classGroup4MixDtos.get(0).getCourseTimes().compareTo(0) <= 0) {
 | 
	
	
		
			
				|  | @@ -3044,23 +3045,23 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public PageInfo<ClassGroupTeachersDto> queryClassGroupPage(ClassGroupQueryInfo queryInfo) {
 | 
	
		
			
				|  |  | -        if(queryInfo.getGroupType() == null){
 | 
	
		
			
				|  |  | +        if (queryInfo.getGroupType() == null) {
 | 
	
		
			
				|  |  |              queryInfo.setGroupType(MUSIC);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          PageInfo<ClassGroupTeachersDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  |          Map<String, Object> params = new HashMap<String, Object>();
 | 
	
		
			
				|  |  |          MapUtil.populateMap(params, queryInfo);
 | 
	
		
			
				|  |  | -        params.put("groupType",queryInfo.getGroupType().getCode());
 | 
	
		
			
				|  |  | +        params.put("groupType", queryInfo.getGroupType().getCode());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<ClassGroupTeachersDto> dataList = null;
 | 
	
		
			
				|  |  |          int count = classGroupDao.countClassGroup(params);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(Objects.nonNull(queryInfo.getLessThenThreeHighOnline())){
 | 
	
		
			
				|  |  | +        if (Objects.nonNull(queryInfo.getLessThenThreeHighOnline())) {
 | 
	
		
			
				|  |  |              List<Long> lessThenThreeClassGroupIds = classGroupStudentMapperDao.getLessThenThreeClassGroupIds(queryInfo.getOrganIdList());
 | 
	
		
			
				|  |  |              params.put("classGroupIds", lessThenThreeClassGroupIds);
 | 
	
		
			
				|  |  | -            if(CollectionUtils.isEmpty(lessThenThreeClassGroupIds)){
 | 
	
		
			
				|  |  | -                count=0;
 | 
	
		
			
				|  |  | -            }else{
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isEmpty(lessThenThreeClassGroupIds)) {
 | 
	
		
			
				|  |  | +                count = 0;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  count = classGroupDao.countClassGroup(params);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -3109,22 +3110,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      public Boolean addImGroup(ClassGroup classGroup, List<Integer> userIds, List<Integer> teacherIdList) {
 | 
	
		
			
				|  |  |          MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
 | 
	
		
			
				|  |  | +        Map<Integer, String> userRoleMap = new HashMap<Integer, String>();
 | 
	
		
			
				|  |  |          userRoleMap.put(musicGroup.getEducationalTeacherId(), "乐团主管");
 | 
	
		
			
				|  |  |          userRoleMap.put(musicGroup.getTeamTeacherId(), "运营主管");
 | 
	
		
			
				|  |  |          userRoleMap.put(musicGroup.getDirectorUserId(), "乐队指导");
 | 
	
		
			
				|  |  |          for (Integer userId : userIds) {
 | 
	
		
			
				|  |  |              if (userId == null) continue;
 | 
	
		
			
				|  |  | -            
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              userRoleMap.put(userId, "");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        if(teacherIdList != null && teacherIdList.size() > 0){
 | 
	
		
			
				|  |  | -        	for(Integer teacherId : teacherIdList){
 | 
	
		
			
				|  |  | -        		userRoleMap.put(teacherId, "指导老师");
 | 
	
		
			
				|  |  | -        	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (teacherIdList != null && teacherIdList.size() > 0) {
 | 
	
		
			
				|  |  | +            for (Integer teacherId : teacherIdList) {
 | 
	
		
			
				|  |  | +                userRoleMap.put(teacherId, "指导老师");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
 | 
	
		
			
				|  |  |          imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
 | 
	
		
			
				|  |  |          imUserFriendService.refreshClassImUserFriend(classGroup.getId());
 | 
	
	
		
			
				|  | @@ -3515,14 +3516,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          MusicGroup musicGroup = musicGroupDao.findByClassGroupId(classGroupIds.get(0));
 | 
	
		
			
				|  |  |          //获取欠费学员列表
 | 
	
		
			
				|  |  |          List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(musicGroup.getId(), new ArrayList<>(studentIds));
 | 
	
		
			
				|  |  | -        if(noPaymentUserIds.size() > 0){
 | 
	
		
			
				|  |  | +        if (noPaymentUserIds.size() > 0) {
 | 
	
		
			
				|  |  |              throw new BizException("操作失败:有欠费的学员不允许创建缴费");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //获取缴费状态在审核中或者已拒绝的缴费项目的学员
 | 
	
		
			
				|  |  | -        String studentId = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroup.getId(),null);
 | 
	
		
			
				|  |  | -        if(StringUtils.isNotEmpty(studentId)){
 | 
	
		
			
				|  |  | +        String studentId = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroup.getId(), null);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(studentId)) {
 | 
	
		
			
				|  |  |              for (Integer integer : studentIds) {
 | 
	
		
			
				|  |  | -                if(studentId.contains(integer.toString())){
 | 
	
		
			
				|  |  | +                if (studentId.contains(integer.toString())) {
 | 
	
		
			
				|  |  |                      throw new BizException("操作失败:所选学员有待审核或已拒绝的缴费项目");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -3618,7 +3619,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                      for (Integer integer : integers) {
 | 
	
		
			
				|  |  |                          List<Integer> collect = Arrays.asList(classGroupStudent.get(integer).split(",")).stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
 | 
	
		
			
				|  |  |                          //学员退出群聊
 | 
	
		
			
				|  |  | -                        imGroupMemberService.quit(integer.longValue(),collect);
 | 
	
		
			
				|  |  | +                        imGroupMemberService.quit(integer.longValue(), collect);
 | 
	
		
			
				|  |  |                          classGroupStudentMapperDao.deleteByClassGroupIdAndStudents(integer, classGroupStudent.get(integer));
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -3632,7 +3633,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  //删除教师课酬
 | 
	
		
			
				|  |  |                  courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(delCourseIds);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(),MUSIC);
 | 
	
		
			
				|  |  | +            batchUpdateTeacherSalary(classGroupIds);
 | 
	
		
			
				|  |  | +            imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(), MUSIC);
 | 
	
		
			
				|  |  |              httpResponseResult.setMsg("学员班级调整完成");
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              //冻结班级
 | 
	
	
		
			
				|  | @@ -3733,6 +3735,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          maxClassGroupNum += otherSubjectRegNum / 6;
 | 
	
		
			
				|  |  |          maxClassGroupNum += (otherSubjectRegNum % 6) > 0 ? 1 : 0;
 | 
	
		
			
				|  |  | +        maxClassGroupNum += musicGroupStudents.size() / 30;
 | 
	
		
			
				|  |  | +        maxClassGroupNum += (musicGroupStudents.size() % 30) > 0 ? 1 : 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          HighClassGroupNumDto highClassGroupNumDto = new HighClassGroupNumDto();
 | 
	
		
			
				|  |  |          int nowClassGroupNum = classGroupDao.getMusicGroupHighClassNumBySubject(musicGroupId, type);
 | 
	
	
		
			
				|  | @@ -3744,32 +3748,32 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -    public List<MusicGroupPaymentCalenderStudentDetail> queryStudentPaymentCalenders(Integer masterClassGroupId,String classGroupStudentMap,List<Integer> studentIds) {
 | 
	
		
			
				|  |  | +    public List<MusicGroupPaymentCalenderStudentDetail> queryStudentPaymentCalenders(Integer masterClassGroupId, String classGroupStudentMap, List<Integer> studentIds) {
 | 
	
		
			
				|  |  |          //获取主班剩余课程时长
 | 
	
		
			
				|  |  |          Map<String, BigDecimal> masterMap = MapUtil.convertIntegerMap(courseScheduleDao.querySubCourseTimeMap(masterClassGroupId));
 | 
	
		
			
				|  |  | -        if(masterMap.size() <= 0){
 | 
	
		
			
				|  |  | +        if (masterMap.size() <= 0) {
 | 
	
		
			
				|  |  |              throw new BizException("所选主班没有剩余课程,请重新选择");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //获取学员列表
 | 
	
		
			
				|  |  |          Map<Integer, String> userNames = MapUtil.convertMybatisMap(teacherDao.queryUsernameByIds(studentIds));
 | 
	
		
			
				|  |  | -        Map<Integer, String> phoneMaps = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(studentIds,",")));
 | 
	
		
			
				|  |  | +        Map<Integer, String> phoneMaps = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(studentIds, ",")));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Map<Integer, Integer> studentCLassMap = new HashMap<>();
 | 
	
		
			
				|  |  |          List<Map<Integer, BigDecimal>> surplusCourseFeeMapList = new ArrayList<>();
 | 
	
		
			
				|  |  | -        List<Map<String,String>> classGroupStudents = (List<Map<String,String>>)JSON.parse(classGroupStudentMap);
 | 
	
		
			
				|  |  | +        List<Map<String, String>> classGroupStudents = (List<Map<String, String>>) JSON.parse(classGroupStudentMap);
 | 
	
		
			
				|  |  |          //学员剩余课程价值
 | 
	
		
			
				|  |  | -        Map<Integer,BigDecimal> classGroupTotalPrice = new HashMap<>();
 | 
	
		
			
				|  |  | +        Map<Integer, BigDecimal> classGroupTotalPrice = new HashMap<>();
 | 
	
		
			
				|  |  |          //主班剩余课程价值
 | 
	
		
			
				|  |  |          Map<String, BigDecimal> masterTotalPriceMap = getMasterTotalPriceMap(masterClassGroupId);
 | 
	
		
			
				|  |  |          BigDecimal masterTotalPrice = getMasterTotalPrice(masterClassGroupId);
 | 
	
		
			
				|  |  |          for (Map<String, String> classGroupStudent : classGroupStudents) {
 | 
	
		
			
				|  |  |              for (String integer : classGroupStudent.keySet()) {
 | 
	
		
			
				|  |  |                  //获取学员剩余课程费用
 | 
	
		
			
				|  |  | -                surplusCourseFeeMapList.addAll(studentRegistrationDao.querySurplusCourseFeeByClassGroupId(Integer.parseInt(integer),classGroupStudent.get(integer)));
 | 
	
		
			
				|  |  | +                surplusCourseFeeMapList.addAll(studentRegistrationDao.querySurplusCourseFeeByClassGroupId(Integer.parseInt(integer), classGroupStudent.get(integer)));
 | 
	
		
			
				|  |  |                  String[] s = classGroupStudent.get(integer).split(",");
 | 
	
		
			
				|  |  |                  for (String s1 : s) {
 | 
	
		
			
				|  |  | -                    classGroupTotalPrice.put(Integer.parseInt(s1),courseScheduleStudentPaymentDao.querySubCoursePriceMap(Integer.parseInt(s1),Integer.parseInt(integer),null));
 | 
	
		
			
				|  |  | -                    studentCLassMap.put(Integer.parseInt(s1),Integer.parseInt(integer));
 | 
	
		
			
				|  |  | +                    classGroupTotalPrice.put(Integer.parseInt(s1), courseScheduleStudentPaymentDao.querySubCoursePriceMap(Integer.parseInt(s1), Integer.parseInt(integer), null));
 | 
	
		
			
				|  |  | +                    studentCLassMap.put(Integer.parseInt(s1), Integer.parseInt(integer));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -3780,33 +3784,33 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          for (Integer studentId : studentCLassMap.keySet()) {
 | 
	
		
			
				|  |  |              //学员剩余课程价值
 | 
	
		
			
				|  |  |              BigDecimal totalPrice = classGroupTotalPrice.get(studentId);
 | 
	
		
			
				|  |  | -            if(totalPrice == null){
 | 
	
		
			
				|  |  | +            if (totalPrice == null) {
 | 
	
		
			
				|  |  |                  totalPrice = BigDecimal.ZERO;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //学员剩余课程余额
 | 
	
		
			
				|  |  |              BigDecimal bigDecimal = surplusCourseFeeMap.get(studentId);
 | 
	
		
			
				|  |  | -            if(bigDecimal == null){
 | 
	
		
			
				|  |  | +            if (bigDecimal == null) {
 | 
	
		
			
				|  |  |                  bigDecimal = BigDecimal.ZERO;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //学员可带走的价值
 | 
	
		
			
				|  |  |              BigDecimal subCourseAmount;
 | 
	
		
			
				|  |  | -            if(masterTotalPrice.doubleValue() >= totalPrice.doubleValue()){
 | 
	
		
			
				|  |  | +            if (masterTotalPrice.doubleValue() >= totalPrice.doubleValue()) {
 | 
	
		
			
				|  |  |                  subCourseAmount = totalPrice;
 | 
	
		
			
				|  |  | -            }else {
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  subCourseAmount = masterTotalPrice;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if(subCourseAmount.doubleValue() >= bigDecimal.doubleValue()){
 | 
	
		
			
				|  |  | +            if (subCourseAmount.doubleValue() >= bigDecimal.doubleValue()) {
 | 
	
		
			
				|  |  |                  subCourseAmount = bigDecimal;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              for (int i = 0; i < courseTypes.size(); i++) {
 | 
	
		
			
				|  |  |                  BigDecimal masterPrice = masterTotalPriceMap.get(courseTypes.get(i));
 | 
	
		
			
				|  |  |                  MusicGroupPaymentCalenderStudentDetail calenderDto = new MusicGroupPaymentCalenderStudentDetail();
 | 
	
		
			
				|  |  |                  calenderDto.setClassGroupId(studentCLassMap.get(studentId));
 | 
	
		
			
				|  |  | -                if(subCourseAmount.doubleValue() >= masterPrice.doubleValue()){
 | 
	
		
			
				|  |  | +                if (subCourseAmount.doubleValue() >= masterPrice.doubleValue()) {
 | 
	
		
			
				|  |  |                      calenderDto.setSubCourseAmount(masterPrice);
 | 
	
		
			
				|  |  |                      calenderDto.setCutAmount(masterPrice);
 | 
	
		
			
				|  |  |                      subCourseAmount = subCourseAmount.subtract(masterPrice);
 | 
	
		
			
				|  |  | -                }else {
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  |                      calenderDto.setSubCourseAmount(subCourseAmount);
 | 
	
		
			
				|  |  |                      calenderDto.setCutAmount(subCourseAmount);
 | 
	
		
			
				|  |  |                      subCourseAmount = BigDecimal.ZERO;
 | 
	
	
		
			
				|  | @@ -3829,7 +3833,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      public BigDecimal getMasterTotalPrice(Integer masterClassGroupId) {
 | 
	
		
			
				|  |  |          //获取主班剩余时长
 | 
	
		
			
				|  |  |          Map<String, BigDecimal> masterMap = MapUtil.convertIntegerMap(courseScheduleDao.querySubCourseTimeMap(masterClassGroupId));
 | 
	
		
			
				|  |  | -        if(masterMap.size() == 0){
 | 
	
		
			
				|  |  | +        if (masterMap.size() == 0) {
 | 
	
		
			
				|  |  |              throw new BizException("操作失败:所选主班没有剩余时长");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //获取分布默认的课程类型单价
 | 
	
	
		
			
				|  | @@ -3844,7 +3848,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  throw new BizException("分部默认课程类型单价不存在,请设置");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              BigDecimal courseTime = masterMap.get(s);
 | 
	
		
			
				|  |  | -            if(courseTime == null){
 | 
	
		
			
				|  |  | +            if (courseTime == null) {
 | 
	
		
			
				|  |  |                  courseTime = BigDecimal.ZERO;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //获取主班剩余课程价值,按分部默认单价计算
 | 
	
	
		
			
				|  | @@ -3855,13 +3859,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          return masterTotalPrice;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public Map<String,BigDecimal> getMasterTotalPriceMap(Integer masterClassGroupId) {
 | 
	
		
			
				|  |  | +    public Map<String, BigDecimal> getMasterTotalPriceMap(Integer masterClassGroupId) {
 | 
	
		
			
				|  |  |          //获取主班剩余时长
 | 
	
		
			
				|  |  |          Map<String, BigDecimal> masterMap = MapUtil.convertIntegerMap(courseScheduleDao.querySubCourseTimeMap(masterClassGroupId));
 | 
	
		
			
				|  |  | -        if(masterMap.size() == 0){
 | 
	
		
			
				|  |  | +        if (masterMap.size() == 0) {
 | 
	
		
			
				|  |  |              throw new BizException("操作失败:所选主班没有剩余时长");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        Map<String,BigDecimal> resultMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        Map<String, BigDecimal> resultMap = new HashMap<>();
 | 
	
		
			
				|  |  |          //获取分布默认的课程类型单价
 | 
	
		
			
				|  |  |          MusicGroup musicGroup = musicGroupDao.findByClassGroupId(masterClassGroupId);
 | 
	
		
			
				|  |  |          Map<String, BigDecimal> unitPriceMap = MapUtil.convertIntegerMap(organizationCourseUnitPriceSettingsDao.queryMapByOrganIdAndChargeTypeId(musicGroup.getChargeTypeId(), musicGroup.getOrganId()));
 | 
	
	
		
			
				|  | @@ -3873,12 +3877,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  throw new BizException("分部默认课程类型单价不存在,请设置");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              BigDecimal courseTime = masterMap.get(s);
 | 
	
		
			
				|  |  | -            if(courseTime == null){
 | 
	
		
			
				|  |  | +            if (courseTime == null) {
 | 
	
		
			
				|  |  |                  courseTime = BigDecimal.ZERO;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              //获取主班剩余课程价值,按分部默认单价计算
 | 
	
		
			
				|  |  |              BigDecimal totalPrice = unitPrice.multiply(courseTime).setScale(0, BigDecimal.ROUND_HALF_UP);
 | 
	
		
			
				|  |  | -            resultMap.put(s,totalPrice);
 | 
	
		
			
				|  |  | +            resultMap.put(s, totalPrice);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return resultMap;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -3890,25 +3894,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void batchUpdateTeacherSalary(List<Integer> classGroupIds) {
 | 
	
		
			
				|  |  | -        if(classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | +        if (classGroupIds.size() > 0) {
 | 
	
		
			
				|  |  |              //获取班级学员人数
 | 
	
		
			
				|  |  |              List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, ClassGroupStudentStatusEnum.NORMAL);
 | 
	
		
			
				|  |  |              Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
 | 
	
		
			
				|  |  |              List<ClassGroup> byClassGroupIds = classGroupDao.findByClassGroupIds(classGroupIds, null);
 | 
	
		
			
				|  |  |              for (ClassGroup classGroup : byClassGroupIds) {
 | 
	
		
			
				|  |  |                  Long aLong = classGroupStudentNumMap.get(classGroup.getId());
 | 
	
		
			
				|  |  | -                classGroup.setStudentNum(aLong==null?0:aLong.intValue());
 | 
	
		
			
				|  |  | -                if(classGroup.getType() == HIGH_ONLINE || classGroup.getType() == HIGH){
 | 
	
		
			
				|  |  | -                    if(aLong != null && aLong > 0){
 | 
	
		
			
				|  |  | -                        List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  | -                        if(courseScheduleList.size() > 0){
 | 
	
		
			
				|  |  | -                            //调整未上课课酬
 | 
	
		
			
				|  |  | -                            List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroup.getId());
 | 
	
		
			
				|  |  | -                            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) {
 | 
	
		
			
				|  |  | +                classGroup.setStudentNum(aLong == null ? 0 : aLong.intValue());
 | 
	
		
			
				|  |  | +                if (aLong != null && aLong > 0) {
 | 
	
		
			
				|  |  | +                    List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  | +                    if (courseScheduleList.size() > 0) {
 | 
	
		
			
				|  |  | +                        //调整未上课课酬
 | 
	
		
			
				|  |  | +                        List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroup.getId());
 | 
	
		
			
				|  |  | +                        Date nowDate = new Date();
 | 
	
		
			
				|  |  | +                        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
 | 
	
		
			
				|  |  | +                        for (CourseSchedule courseSchedule : courseScheduleList) {
 | 
	
		
			
				|  |  | +                            if (courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE || courseSchedule.getType() == CourseScheduleType.HIGH) {
 | 
	
		
			
				|  |  | +                                courseScheduleTeacherSalaryDao.batchDeleteByCourseAndTeacher(courseSchedule.getId(), null);
 | 
	
		
			
				|  |  |                                  for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
 | 
	
		
			
				|  |  |                                      List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacher.getUserId(), null, null);
 | 
	
		
			
				|  |  |                                      if (teacherSalaryList == null || teacherSalaryList.size() == 0) {
 | 
	
	
		
			
				|  | @@ -3917,28 +3920,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                                      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(HIGH_ONLINE) && aLong > 5l) {
 | 
	
		
			
				|  |  | +                                    if (courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE && aLong > 5l) {
 | 
	
		
			
				|  |  |                                          aLong = 5l;
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                      BigDecimal salary = null;
 | 
	
		
			
				|  |  | -                                    if(classGroup.getType().equals(HIGH_ONLINE)){
 | 
	
		
			
				|  |  | +                                    if (courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE) {
 | 
	
		
			
				|  |  |                                          salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(aLong + "");
 | 
	
		
			
				|  |  | -                                    }else if(classGroup.getType().equals(HIGH)){
 | 
	
		
			
				|  |  | +                                    } else if (courseSchedule.getType() == CourseScheduleType.HIGH) {
 | 
	
		
			
				|  |  |                                          MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  |                                          TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
 | 
	
		
			
				|  |  | -                                        if(Objects.isNull(teacherDefaultMusicGroupSalaryHigh)){
 | 
	
		
			
				|  |  | +                                        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)){
 | 
	
		
			
				|  |  | +                                        if (Objects.isNull(salary)) {
 | 
	
		
			
				|  |  |                                              throw new BizException("请设置老师课酬");
 | 
	
		
			
				|  |  |                                          }
 | 
	
		
			
				|  |  |                                          salary = salary.multiply(new BigDecimal(aLong));
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  | -                                    if(Objects.isNull(salary)){
 | 
	
		
			
				|  |  | +                                    if (Objects.isNull(salary)) {
 | 
	
		
			
				|  |  |                                          throw new BizException("请设置老师课酬");
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                      CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
 | 
	
	
		
			
				|  | @@ -3954,6 +3957,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                                      courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        if (courseScheduleTeacherSalaryList.size() > 0) {
 | 
	
		
			
				|  |  |                              courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -3974,8 +3979,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          //学员列表
 | 
	
		
			
				|  |  |          List<Integer> studentIds = mergeClassSplitClassAffirmDto.getStudentIds();
 | 
	
		
			
				|  |  |          //主班是否包含所选学员列表
 | 
	
		
			
				|  |  | -        Boolean hasStudent = classGroupStudentMapperDao.hasStudent(masterClassGroupId,studentIds);
 | 
	
		
			
				|  |  | -        if(hasStudent){
 | 
	
		
			
				|  |  | +        Boolean hasStudent = classGroupStudentMapperDao.hasStudent(masterClassGroupId, studentIds);
 | 
	
		
			
				|  |  | +        if (hasStudent) {
 | 
	
		
			
				|  |  |              throw new BizException("操作失败: 主班包含部分已选学员");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //学员列表
 | 
	
	
		
			
				|  | @@ -3989,10 +3994,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          //创建缴费项目
 | 
	
		
			
				|  |  |          MusicGroup musicGroup = musicGroupDao.findByClassGroupId(masterClassGroupId);
 | 
	
		
			
				|  |  |          //获取缴费状态在审核中或者已拒绝的缴费项目的学员
 | 
	
		
			
				|  |  | -        String studentId = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroup.getId(),null);
 | 
	
		
			
				|  |  | -        if(StringUtils.isNotEmpty(studentId)){
 | 
	
		
			
				|  |  | +        String studentId = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroup.getId(), null);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(studentId)) {
 | 
	
		
			
				|  |  |              for (Integer integer : studentIds) {
 | 
	
		
			
				|  |  | -                if(studentId.contains(integer.toString())){
 | 
	
		
			
				|  |  | +                if (studentId.contains(integer.toString())) {
 | 
	
		
			
				|  |  |                      throw new BizException("操作失败:所选学员有待审核或已拒绝的缴费项目");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -4003,9 +4008,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          paymentCalenderDto.setMusicGroupId(musicGroup.getId());
 | 
	
		
			
				|  |  |          boolean containsAll = musicGroupPaymentCalenderStudentDetails.containsAll(calenderStudentDetails);
 | 
	
		
			
				|  |  | -        if(!containsAll){
 | 
	
		
			
				|  |  | +        if (!containsAll) {
 | 
	
		
			
				|  |  |              paymentCalenderDto.setStatus(AUDITING);
 | 
	
		
			
				|  |  | -        }else {
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  |              paymentCalenderDto.setStatus(NO);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4013,14 +4018,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          Map<Integer, List<MusicGroupPaymentCalenderStudentDetail>> collect = calenderStudentDetails.stream().collect(Collectors.groupingBy(e -> e.getUserId()));
 | 
	
		
			
				|  |  |          for (Map<Integer, String> classGroupStudent : classGroupStudents) {
 | 
	
		
			
				|  |  |              Integer classGroupId = classGroupStudent.keySet().iterator().next();
 | 
	
		
			
				|  |  | -            studentRegistrationService.insertStudent(classGroupStudent.get(classGroupId),musicGroupDao.findByClassGroupId(classGroupId).getId(),musicGroup.getId(),collect);
 | 
	
		
			
				|  |  | +            studentRegistrationService.insertStudent(classGroupStudent.get(classGroupId), musicGroupDao.findByClassGroupId(classGroupId).getId(), musicGroup.getId(), collect);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          paymentCalenderDto.setPayUserType(MusicGroupPaymentCalender.PayUserType.STUDENT);
 | 
	
		
			
				|  |  |          paymentCalenderDto.setPaymentType(SPAN_GROUP_CLASS_ADJUST);
 | 
	
		
			
				|  |  |          //生成缴费项目
 | 
	
		
			
				|  |  |          paymentCalenderDto.setMasterTotalPrice(masterTotalPrice);
 | 
	
		
			
				|  |  |          paymentCalenderDto.setIsGiveMusicNetwork(false);
 | 
	
		
			
				|  |  | -        paymentCalenderDto.setStudentIds(StringUtils.join(studentIds,","));
 | 
	
		
			
				|  |  | +        paymentCalenderDto.setStudentIds(StringUtils.join(studentIds, ","));
 | 
	
		
			
				|  |  |          musicGroupPaymentCalenderService.create(paymentCalenderDto);
 | 
	
		
			
				|  |  |          //记录申请信息
 | 
	
		
			
				|  |  |          MusicGroupStudentClassAdjust musicGroupStudentClassAdjust = new MusicGroupStudentClassAdjust();
 | 
	
	
		
			
				|  | @@ -4061,10 +4066,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          httpResponseResult.setStatus(true);
 | 
	
		
			
				|  |  |          //没有需要审核的缴费项目
 | 
	
		
			
				|  |  |          if (paymentCalenderDto.getStatus() != AUDITING) {
 | 
	
		
			
				|  |  | -            List<Map> classGroupStudents1 = JSON.parseArray(musicGroupStudentClassAdjust.getClassGroupStudents(),Map.class);
 | 
	
		
			
				|  |  | -            spanGroupClassAdjustPass(masterClassGroupId,studentIds,courseIds,classGroupStudents1,allLockCourseIds,paymentCalenderDto.getBatchNo(),masterTotalPrice);
 | 
	
		
			
				|  |  | +            List<Map> classGroupStudents1 = JSON.parseArray(musicGroupStudentClassAdjust.getClassGroupStudents(), Map.class);
 | 
	
		
			
				|  |  | +            spanGroupClassAdjustPass(masterClassGroupId, studentIds, courseIds, classGroupStudents1, allLockCourseIds, paymentCalenderDto.getBatchNo(), masterTotalPrice);
 | 
	
		
			
				|  |  |              httpResponseResult.setMsg("操作成功:学员班级调整完成");
 | 
	
		
			
				|  |  | -        }else {
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  |  //                冻结班级
 | 
	
		
			
				|  |  |              classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 1);
 | 
	
		
			
				|  |  |  //                冻结所选班级的课程
 | 
	
	
		
			
				|  | @@ -4081,7 +4086,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                                           List<Long> courseIds,
 | 
	
		
			
				|  |  |                                           List<Map> classGroupStudents,
 | 
	
		
			
				|  |  |                                           List<Long> allLockCourseIds,
 | 
	
		
			
				|  |  | -                                         String batchNo,BigDecimal masterTotalPrice){
 | 
	
		
			
				|  |  | +                                         String batchNo, BigDecimal masterTotalPrice) {
 | 
	
		
			
				|  |  |          //删除班级关联的学员
 | 
	
		
			
				|  |  |          List<Integer> classGroupIds = new ArrayList<>();
 | 
	
		
			
				|  |  |          if (classGroupStudents != null && classGroupStudents.size() > 0) {
 | 
	
	
		
			
				|  | @@ -4090,7 +4095,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |                  for (Integer integer : integers) {
 | 
	
		
			
				|  |  |                      List<Integer> collect = Arrays.asList(classGroupStudent.get(integer).split(",")).stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
 | 
	
		
			
				|  |  |                      //学员退出群聊
 | 
	
		
			
				|  |  | -                    imGroupMemberService.quit(integer.longValue(),collect);
 | 
	
		
			
				|  |  | +                    imGroupMemberService.quit(integer.longValue(), collect);
 | 
	
		
			
				|  |  |                      classGroupIds.add(integer);
 | 
	
		
			
				|  |  |                      classGroupStudentMapperDao.deleteByClassGroupIdAndStudents(integer, classGroupStudent.get(integer));
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -4098,17 +4103,17 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //将学员加进班级未开始的课程,以及班级关联、加群
 | 
	
		
			
				|  |  | -        classGroupStudentMapperService.updateClassGroupStudents1(masterClassGroupId.longValue(),studentIds,allLockCourseIds,batchNo,masterTotalPrice);
 | 
	
		
			
				|  |  | +        classGroupStudentMapperService.updateClassGroupStudents1(masterClassGroupId.longValue(), studentIds, allLockCourseIds, batchNo, masterTotalPrice);
 | 
	
		
			
				|  |  |          //删除学员课程
 | 
	
		
			
				|  |  | -        if(courseIds.size() > 0){
 | 
	
		
			
				|  |  | +        if (courseIds.size() > 0) {
 | 
	
		
			
				|  |  |              courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudents(courseIds, studentIds);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //解冻课程
 | 
	
		
			
				|  |  | -        courseScheduleDao.batchUpdateLockByCourseIds(allLockCourseIds,0);
 | 
	
		
			
				|  |  | +        courseScheduleDao.batchUpdateLockByCourseIds(allLockCourseIds, 0);
 | 
	
		
			
				|  |  |          //解冻班级
 | 
	
		
			
				|  |  |          classGroupIds.add(masterClassGroupId);
 | 
	
		
			
				|  |  | -        classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds,0);
 | 
	
		
			
				|  |  | -        if(courseIds.size() > 0){
 | 
	
		
			
				|  |  | +        classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 0);
 | 
	
		
			
				|  |  | +        if (courseIds.size() > 0) {
 | 
	
		
			
				|  |  |              //获取没有学员的课程
 | 
	
		
			
				|  |  |              List<Long> delCourseIds = courseScheduleDao.findNoStudentCourseIds(courseIds);
 | 
	
		
			
				|  |  |              if (delCourseIds != null && delCourseIds.size() > 0) {
 |