|
@@ -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();
|