Browse Source

线下基础技能课和线上结算方式一样,紧急修改,可能有bug

zouxuan 2 years ago
parent
commit
ed788aaac1

+ 25 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1133,16 +1133,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
                     List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacher.getUserId(), null, null);
                     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) && studentNum > 5) {
+
+                    if ((classGroup.getType().equals(HIGH_ONLINE) || classGroup.getType().equals(HIGH)) && studentNum > 5) {
                         studentNum = 5;
                     }
 
                     BigDecimal salary = null;
                     if (classGroup.getType().equals(HIGH_ONLINE)) {
+                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(CourseSchedule.CourseScheduleType.HIGH_ONLINE);
+                        if (Objects.isNull(teacherDefaultMusicGroupSalary)) {
+                            throw new BizException("请设置老师课酬");
+                        }
                         salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
                     } else if (classGroup.getType().equals(HIGH)) {
-                        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
+                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
+                        if (Objects.isNull(teacherDefaultMusicGroupSalaryHigh)) {
+                            throw new BizException("请设置老师课酬");
+                        }
+                        salary = JSON.parseObject(teacherDefaultMusicGroupSalaryHigh.getSalaryRuleJson()).getBigDecimal(studentNum + "");
+                        /*MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
                         TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
                         if (Objects.isNull(teacherDefaultMusicGroupSalaryHigh)) {
                             throw new BizException("请设置老师课酬");
@@ -1154,7 +1163,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         if (Objects.isNull(salary)) {
                             throw new BizException("请设置老师课酬");
                         }
-                        salary = salary.multiply(new BigDecimal(studentNum));
+                        salary = salary.multiply(new BigDecimal(studentNum));*/
                     }
                     if (Objects.isNull(salary)) {
                         throw new BizException("请设置老师课酬");
@@ -4558,16 +4567,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                                         throw new BizException("请设置老师线上网管课课酬");
                                     }
                                     Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
-                                    TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(CourseSchedule.CourseScheduleType.HIGH_ONLINE);
 
-                                    if (courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE && aLong > 5l) {
+                                    if ((courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE || courseSchedule.getType() == CourseScheduleType.HIGH) && aLong > 5l) {
                                         aLong = 5l;
                                     }
                                     BigDecimal salary = null;
                                     if (courseSchedule.getType() == CourseScheduleType.HIGH_ONLINE) {
+                                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(CourseSchedule.CourseScheduleType.HIGH_ONLINE);
+                                        if (Objects.isNull(teacherDefaultMusicGroupSalary)) {
+                                            throw new BizException("请设置老师课酬");
+                                        }
                                         salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(aLong + "");
                                     } else if (courseSchedule.getType() == CourseScheduleType.HIGH) {
-                                        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
+                                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
+                                        if (Objects.isNull(teacherDefaultMusicGroupSalaryHigh)) {
+                                            throw new BizException("请设置老师课酬");
+                                        }
+                                        salary = JSON.parseObject(teacherDefaultMusicGroupSalaryHigh.getSalaryRuleJson()).getBigDecimal(aLong + "");
+                                        /*MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
                                         TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
                                         if (Objects.isNull(teacherDefaultMusicGroupSalaryHigh)) {
                                             throw new BizException("请设置老师课酬");
@@ -4579,7 +4596,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                                         if (Objects.isNull(salary)) {
                                             throw new BizException("请设置老师课酬");
                                         }
-                                        salary = salary.multiply(new BigDecimal(aLong));
+                                        salary = salary.multiply(new BigDecimal(aLong));*/
                                     }
                                     if (Objects.isNull(salary)) {
                                         throw new BizException("请设置老师课酬");

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -377,17 +377,17 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                     }
                     Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
                     TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(courseSchedule.getType());
-                    if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && studentNum > 5) {
+                    if ((classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) || classGroup.getType().equals(ClassGroupTypeEnum.HIGH)) && studentNum > 5) {
                         studentNum = 5;
                     }
                     BigDecimal salary = null;
-                    if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)){
+                    if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) || classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
                         if(studentNum>0){
                             salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum + "");
                         }else{
                             salary = new BigDecimal("0");
                         }
-                    }else if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
+                    }/*else if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
                         MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
                         TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryHigh = collect.get(CourseSchedule.CourseScheduleType.HIGH);
                         if(Objects.isNull(teacherDefaultMusicGroupSalaryHigh)){
@@ -401,7 +401,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                             throw new BizException("请设置老师课酬");
                         }
                         salary = salary.multiply(new BigDecimal(studentNum));
-                    }
+                    }*/
                     if(Objects.isNull(salary)){
                         throw new BizException("请设置老师课酬");
                     }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -745,7 +745,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 								courseScheduleTeacherSalary.setExpectSalary(salary);
 							}
 							//基础技能提高课
-							if (type == CourseScheduleType.HIGH) {
+							/*if (type == CourseScheduleType.HIGH) {
 								BigDecimal salary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? tdms.getMainTeacher30MinSalary() : tdms.getAssistantTeacher30MinSalary();
 								if (StringUtils.equals(settlementType, "GRADIENT_SALARY")) {
 									salary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary();
@@ -755,9 +755,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 									studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
 								}
 								courseScheduleTeacherSalary.setExpectSalary(salary.multiply(new BigDecimal(studentNum)));
-							}
+							}*/
 							//线上小班课
-							if(type == CourseScheduleType.HIGH_ONLINE){
+							if(type == CourseScheduleType.HIGH_ONLINE || type == CourseScheduleType.HIGH){
 								int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(courseSchedule.getId());
 								if(studentNum<=0){
 									studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -1326,7 +1326,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             salary = baseSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
 
             //基础技能提高课
-            if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
+            /*if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
                 salary = TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole()) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
                 if (settlementType.equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                     salary = TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole()) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
@@ -1339,9 +1339,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                     studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
                 }
                 salary = salary.multiply(new BigDecimal(studentNum));
-            }
+            }*/
             //线上小班课
-            if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE)) {
+            if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE) || courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
                 int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(courseSchedule.getId());
                 if(studentNum<=0){
                     studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());

+ 10 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -93,7 +93,7 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 				salaryMap.put(ms.getCourseScheduleType(), ms);
 			}
 			
-			Map<Integer,Integer> classGroupStudentNumMap = new HashMap<Integer, Integer>();
+//			Map<Integer,Integer> classGroupStudentNumMap = new HashMap<Integer, Integer>();
 
 			if (salaryMap.size() > 0) {
 
@@ -129,7 +129,7 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 								BigDecimal duration = new BigDecimal(DateUtil.minutesBetween(ts.getCourseSchedule().getStartClassTime(), ts.getCourseSchedule()
 										.getEndClassTime()));
 								int mins = 0;
-								if(tdms.getCourseScheduleType() == CourseScheduleType.HIGH_ONLINE || tdms.getCourseScheduleType() == CourseScheduleType.MUSIC_NETWORK) {
+								if(tdms.getCourseScheduleType() == CourseScheduleType.HIGH_ONLINE || tdms.getCourseScheduleType() == CourseScheduleType.HIGH || tdms.getCourseScheduleType() == CourseScheduleType.MUSIC_NETWORK) {
 									int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(ts.getCourseScheduleId());
 
 									String salaryRuleJson = tdms.getSalaryRuleJson();
@@ -154,22 +154,22 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 									mins = 90;
 									// 判断是助教、主教
 									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
-										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM || tdms.getCourseScheduleType() == CourseScheduleType.HIGH) {
+										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM) {
 											ts.setExpectSalary(tdms.getMainTeacher90MinSalary());
 										}else{
 											ts.setExpectSalary(duration.divide(new BigDecimal(mins), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(tdms.getMainTeacher90MinSalary()));
 										}
 									} else {
-										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM || tdms.getCourseScheduleType() == CourseScheduleType.HIGH) {
+										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM) {
 											ts.setExpectSalary(tdms.getAssistantTeacher90MinSalary());
 										}else{
 											ts.setExpectSalary(duration.divide(new BigDecimal(mins), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(tdms.getAssistantTeacher90MinSalary()));
 										}
 									}
-									if(CourseScheduleType.HIGH.equals(tdms.getCourseScheduleType())){
+									/*if(CourseScheduleType.HIGH.equals(tdms.getCourseScheduleType())){
 										int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(ts.getCourseScheduleId());
 										ts.setExpectSalary(ts.getExpectSalary().multiply(new BigDecimal(studentNum)));
-									}
+									}*/
 									//课堂课课酬改为按分钟数计算,并且时长占比向下取整
 									if (CourseSchedule.CourseScheduleType.CLASSROOM.equals(tdms.getCourseScheduleType())){
 										ts.setExpectSalary(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole()) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary());
@@ -181,22 +181,22 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 									BigDecimal minsDecimal = new BigDecimal(mins);
 									// 判断是助教、主教
 									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
-										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM || tdms.getCourseScheduleType() == CourseScheduleType.HIGH) {
+										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM) {
 											ts.setExpectSalary(tdms.getMainTeacher30MinSalary());
 										}else{
 											ts.setExpectSalary(duration.divide(minsDecimal, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(tdms.getMainTeacher30MinSalary()));
 										}
 									} else {
-										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM || tdms.getCourseScheduleType() == CourseScheduleType.HIGH) {
+										if (tdms.getCourseScheduleType() == CourseScheduleType.CLASSROOM) {
 											ts.setExpectSalary(tdms.getAssistantTeacher30MinSalary());
 										}else{
 											ts.setExpectSalary(duration.divide(minsDecimal, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(tdms.getAssistantTeacher30MinSalary()));
 										}
 									}
-									if(CourseScheduleType.HIGH.equals(tdms.getCourseScheduleType())){
+									/*if(CourseScheduleType.HIGH.equals(tdms.getCourseScheduleType())){
 										int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(ts.getCourseScheduleId());
 										ts.setExpectSalary(ts.getExpectSalary().multiply(new BigDecimal(studentNum)));
-									}
+									}*/
 									//课堂课课酬改为按分钟数计算,并且时长占比向下取整
 									if (CourseSchedule.CourseScheduleType.CLASSROOM.equals(tdms.getCourseScheduleType())){
 										ts.setExpectSalary(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole()) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary());