瀏覽代碼

线上基础技能课与乐团网管课课酬结算规则调整

Joburgess 5 年之前
父節點
當前提交
02b879ffba

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

@@ -694,18 +694,28 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                     }
                     teacherSalary = teacherDefaultSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
                 }
-                if(CourseSchedule.CourseScheduleType.MUSIC_NETWORK.equals(courseSchedule.getType())||CourseSchedule.CourseScheduleType.HIGH_ONLINE.equals(courseSchedule.getType())){
-                    Long normalStudentNum = courseNormalStudentsMap.get(courseSchedule.getId());
-                    if(Objects.isNull(normalStudentNum)){
-                        normalStudentNum = Long.valueOf(0);
-                    }
-                    if(Objects.nonNull(teacherDefaultMusicGroupSalaryWithTeacherId)){
-                        JSONObject salaryRuleJsonObject = JSONObject.parseObject(teacherDefaultMusicGroupSalaryWithTeacherId.getSalaryRuleJson());
-                        teacherSalary = salaryRuleJsonObject.getBigDecimal(normalStudentNum.toString());
-                    }
-                    if(Objects.isNull(teacherSalary)){
-                        teacherSalary = BigDecimal.ZERO;
-                    }
+            }else if(CourseSchedule.CourseScheduleType.MUSIC_NETWORK.equals(courseSchedule.getType())||CourseSchedule.CourseScheduleType.HIGH_ONLINE.equals(courseSchedule.getType())){
+                //根据课程类型获取对应的默认课酬设置列表
+                List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalariesWithCourseType = teacherDefaultMusicGroupSalariesGroupByCourseType.get(courseSchedule.getType());
+                if (CollectionUtils.isEmpty(teacherDefaultMusicGroupSalariesWithCourseType)) {
+                    LOGGER.error("存在未指定结算方式的课程类型[{}]", courseScheduleTeacherSalary.getId());
+                }
+
+                //根据教师编号将对应结算方式下的默认课酬设置分组
+                Map<Integer, TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalariesGroupByTeacherId = teacherDefaultMusicGroupSalariesWithCourseType.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getUserId, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
+
+                TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalaryWithTeacherId = teacherDefaultMusicGroupSalariesGroupByTeacherId.get(courseScheduleTeacherSalary.getUserId());
+
+                Long normalStudentNum = courseNormalStudentsMap.get(courseSchedule.getId());
+                if(Objects.isNull(normalStudentNum)){
+                    normalStudentNum = Long.valueOf(0);
+                }
+                if(Objects.nonNull(teacherDefaultMusicGroupSalaryWithTeacherId)){
+                    JSONObject salaryRuleJsonObject = JSONObject.parseObject(teacherDefaultMusicGroupSalaryWithTeacherId.getSalaryRuleJson());
+                    teacherSalary = salaryRuleJsonObject.getBigDecimal(normalStudentNum.toString());
+                }
+                if(Objects.isNull(teacherSalary)){
+                    teacherSalary = BigDecimal.ZERO;
                 }
             }else{
                 teacherSalary=courseScheduleTeacherSalary.getTeacherActualSalary();