|
@@ -89,6 +89,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
private TeacherCourseRewardDao teacherCourseRewardDao;
|
|
|
@Autowired
|
|
|
private MusicGroupDao musicGroupDao;
|
|
|
+ @Autowired
|
|
|
+ private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
|
|
|
|
|
|
private static final Logger LOGGER = LoggerFactory
|
|
|
.getLogger(CourseScheduleTeacherSalaryServiceImpl.class);
|
|
@@ -1125,13 +1127,16 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
}
|
|
|
switch (courseSchedule.getGroupType()){
|
|
|
case MUSIC:
|
|
|
- createMusicGroupCourseTeacerSalary(courseSchedule, courseScheduleTeacherSalaries);
|
|
|
+ //生成乐团课课酬
|
|
|
+ createMusicGroupCourseTeacherSalary(courseSchedule, courseScheduleTeacherSalaries);
|
|
|
break;
|
|
|
case VIP:
|
|
|
//生成vip课课酬
|
|
|
+ createVipGroupCourseTeacherSalary(courseSchedule, courseScheduleTeacherSalaries);
|
|
|
break;
|
|
|
case PRACTICE:
|
|
|
//生成网管课课酬
|
|
|
+ createPracticeGroupCourseTeacherSalary(courseSchedule, courseScheduleTeacherSalaries);
|
|
|
break;
|
|
|
}
|
|
|
return courseScheduleTeacherSalaries;
|
|
@@ -1145,7 +1150,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
* @param courseScheduleTeacherSalaries: 教师课酬记录基本信息
|
|
|
* @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary>
|
|
|
*/
|
|
|
- private List<CourseScheduleTeacherSalary> createMusicGroupCourseTeacerSalary(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries) {
|
|
|
+ private void createMusicGroupCourseTeacherSalary(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries) {
|
|
|
MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
|
|
|
List<Integer> teacherIds = courseScheduleTeacherSalaries.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
|
|
@@ -1234,6 +1239,44 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
courseScheduleTeacherSalary.setCreateTime(now);
|
|
|
courseScheduleTeacherSalary.setUpdateTime(now);
|
|
|
}
|
|
|
- return courseScheduleTeacherSalaries;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 创建课程指定教师的课酬记录-VIP课
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2020.10.22
|
|
|
+ * @param courseSchedule: 课程计划
|
|
|
+ * @param courseScheduleTeacherSalaries: 教师课酬记录基本信息
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary>
|
|
|
+ */
|
|
|
+ private void createVipGroupCourseTeacherSalary(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries){
|
|
|
+ VipGroup vipGroup = vipGroupService.get(Long.valueOf(courseSchedule.getMusicGroupId()));
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
+ Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, courseSchedule.getActualTeacherId(), null, null);
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(courseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?salaryMap.get("offlineTeacherSalary"):salaryMap.get("onlineTeacherSalary"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @describe 创建课程指定教师的课酬记录-网管课
|
|
|
+ * @author Joburgess
|
|
|
+ * @date 2020.10.22
|
|
|
+ * @param courseSchedule: 课程计划
|
|
|
+ * @param courseScheduleTeacherSalaries: 教师课酬记录基本信息
|
|
|
+ * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary>
|
|
|
+ */
|
|
|
+ private void createPracticeGroupCourseTeacherSalary(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries){
|
|
|
+ List<Integer> teacherIds = courseScheduleTeacherSalaries.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> allTeacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao.queryByUserIdList(teacherIds);
|
|
|
+ Map<Integer, List<TeacherDefaultPracticeGroupSalary>> teacherSalaryMap = allTeacherDefaultPracticeGroupSalaryList.stream().collect(Collectors.groupingBy(TeacherDefaultPracticeGroupSalary::getUserId));
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
+ final List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherSalaryMap.get(courseScheduleTeacherSalary.getUserId());
|
|
|
+ if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
|
|
|
+ } else {
|
|
|
+ throw new BizException("请设置老师 的网管课课酬");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|