|
@@ -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>();
|
|
@@ -1231,7 +1232,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());
|
|
|
}
|
|
|
|
|
@@ -1297,24 +1298,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("请设置老师课酬");
|
|
|
}
|
|
|
|
|
@@ -1357,7 +1358,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());
|
|
|
}
|
|
|
|
|
|
return true;
|
|
@@ -1455,7 +1456,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("请登录");
|
|
@@ -1468,13 +1469,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("课程类型错误");
|
|
@@ -1727,7 +1728,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);
|
|
@@ -1736,12 +1737,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);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -1786,7 +1787,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) {
|
|
@@ -2297,7 +2298,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();
|
|
|
}
|
|
|
|
|
@@ -2309,7 +2310,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) {
|
|
@@ -2416,7 +2417,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);
|
|
|
}
|
|
|
|
|
@@ -2433,7 +2434,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("排课循环周期错误,请核查");
|
|
|
}
|
|
|
|
|
@@ -2446,13 +2447,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;
|
|
@@ -2469,10 +2470,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;
|
|
|
}
|
|
|
|
|
@@ -2485,7 +2486,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));
|
|
@@ -2519,9 +2520,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,是否继续");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2536,7 +2537,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, "");
|
|
@@ -2553,7 +2554,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);
|
|
@@ -2568,7 +2569,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) {
|
|
@@ -3063,23 +3064,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);
|
|
|
}
|
|
|
}
|
|
@@ -3128,22 +3129,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());
|
|
@@ -3534,14 +3535,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("操作失败:所选学员有待审核或已拒绝的缴费项目");
|
|
|
}
|
|
|
}
|
|
@@ -3637,7 +3638,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));
|
|
|
}
|
|
|
}
|
|
@@ -3652,7 +3653,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(delCourseIds);
|
|
|
}
|
|
|
batchUpdateTeacherSalary(classGroupIds);
|
|
|
- imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(),MUSIC);
|
|
|
+ imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(), MUSIC);
|
|
|
httpResponseResult.setMsg("学员班级调整完成");
|
|
|
} else {
|
|
|
//冻结班级
|
|
@@ -3753,6 +3754,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);
|
|
@@ -3764,32 +3767,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));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -3800,33 +3803,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;
|
|
@@ -3849,7 +3852,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("操作失败:所选主班没有剩余时长");
|
|
|
}
|
|
|
//获取分布默认的课程类型单价
|
|
@@ -3864,7 +3867,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;
|
|
|
}
|
|
|
//获取主班剩余课程价值,按分部默认单价计算
|
|
@@ -3875,13 +3878,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()));
|
|
@@ -3893,12 +3896,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;
|
|
|
}
|
|
@@ -3910,24 +3913,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(aLong != null && aLong > 0){
|
|
|
+ classGroup.setStudentNum(aLong == null ? 0 : aLong.intValue());
|
|
|
+ if (aLong != null && aLong > 0) {
|
|
|
List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroup.getId());
|
|
|
- if(courseScheduleList.size() > 0){
|
|
|
+ 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);
|
|
|
+ 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) {
|
|
@@ -3940,24 +3943,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
aLong = 5l;
|
|
|
}
|
|
|
BigDecimal salary = null;
|
|
|
- if(courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE){
|
|
|
+ if (courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE) {
|
|
|
salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(aLong + "");
|
|
|
- }else if(courseSchedule.getType() == CourseScheduleType.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();
|
|
@@ -3974,7 +3977,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (courseScheduleTeacherSalaryList.size() > 0){
|
|
|
+ if (courseScheduleTeacherSalaryList.size() > 0) {
|
|
|
courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
|
|
|
}
|
|
|
}
|
|
@@ -3995,8 +3998,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("操作失败: 主班包含部分已选学员");
|
|
|
}
|
|
|
//学员列表
|
|
@@ -4010,10 +4013,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("操作失败:所选学员有待审核或已拒绝的缴费项目");
|
|
|
}
|
|
|
}
|
|
@@ -4024,9 +4027,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);
|
|
|
}
|
|
|
|
|
@@ -4034,14 +4037,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();
|
|
@@ -4082,10 +4085,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);
|
|
|
// 冻结所选班级的课程
|
|
@@ -4102,7 +4105,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) {
|
|
@@ -4111,7 +4114,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));
|
|
|
}
|
|
@@ -4119,17 +4122,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) {
|