|
|
@@ -430,6 +430,39 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
|
|
|
|
|
|
List<Long> courseIds = classGroupNotStartCourse.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
|
|
|
+ //4、调整未上课课酬
|
|
|
+ List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroupId.intValue());
|
|
|
+ if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && classGroupNotStartCourse.size() > 0) {
|
|
|
+ Date nowDate = new Date();
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
|
|
|
+ List<Long> courseScheduleIds = classGroupNotStartCourse.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
+ courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
|
|
|
+ for (CourseSchedule courseSchedule : classGroupNotStartCourse) {
|
|
|
+ for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
|
|
|
+ List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacher.getUserId(), ClassGroupTypeEnum.HIGH_ONLINE.getCode(), null);
|
|
|
+ if (teacherSalaryList == null || teacherSalaryList.size() == 0) {
|
|
|
+ throw new BizException("请设置老师线上网管课课酬");
|
|
|
+ }
|
|
|
+ Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
|
|
|
+ TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(courseSchedule.getType());
|
|
|
+ BigDecimal salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentIds.size()+"");
|
|
|
+
|
|
|
+ CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
+ courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
|
|
|
+ courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ courseScheduleTeacherSalary.setTeacherRole(classGroupTeacher.getTeacherRole());
|
|
|
+ courseScheduleTeacherSalary.setUserId(classGroupTeacher.getUserId());
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(salary);
|
|
|
+ courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
|
+ courseScheduleTeacherSalary.setCreateTime(nowDate);
|
|
|
+ courseScheduleTeacherSalary.setUpdateTime(nowDate);
|
|
|
+ courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
|
|
|
+ }
|
|
|
+
|
|
|
if(!CollectionUtils.isEmpty(removeStudentIds)){
|
|
|
courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudents(courseIds, new ArrayList<>(removeStudentIds));
|
|
|
List<ImGroupMember> imGroupMemberList = new ArrayList<>();
|