|
@@ -3607,12 +3607,31 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
|
|
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
|
- List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
- if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
- throw new BizException("请设置老师默认课酬");
|
|
|
+
|
|
|
+ PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
|
|
|
+
|
|
|
+ if(Objects.nonNull(practiceGroup.getBuyMonths())){
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
+ if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
+ throw new BizException("请设置老师默认课酬");
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
+ }else{
|
|
|
+ List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroup.getId().toString(), GroupType.PRACTICE);
|
|
|
+ if(!CollectionUtils.isEmpty(groupNotStartCourses)){
|
|
|
+ SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
+ BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
+ List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
+ courseScheduleTeacherSalary.setUserId(teacherId);
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
courseScheduleModifyLogDao.insert(scheduleModifyLog);
|
|
|
|
|
|
Map<Integer, String> map = new HashMap<>(2);
|
|
@@ -3626,7 +3645,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId) {
|
|
|
+ public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId) {
|
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
if (null == user) {
|
|
|
throw new BizException("获取用户信息失败");
|
|
@@ -3668,15 +3687,46 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
|
courseScheduleDao.batchUpdate(courseSchedules);
|
|
|
Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
|
|
|
- List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
- if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
- throw new BizException("请设置老师默认课酬");
|
|
|
+ PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(practiceGroupId));
|
|
|
+
|
|
|
+ if(Objects.nonNull(practiceGroup.getBuyMonths())){
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
|
|
|
+ if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
|
|
|
+ throw new BizException("请设置老师默认课酬");
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
+ }else{
|
|
|
+ List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, GroupType.PRACTICE);
|
|
|
+ if(!CollectionUtils.isEmpty(groupNotStartCourses)){
|
|
|
+ SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
+ BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
+ List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
|
|
|
+ for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
|
|
|
+ courseScheduleTeacherSalary.setUserId(teacherId);
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
|
|
|
+ }
|
|
|
}
|
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
|
|
|
|
+ if(Objects.nonNull(subjectId)&&!subjectId.equals(practiceGroup.getSubjectId())){
|
|
|
+ Subject subject = subjectDao.get(subjectId);
|
|
|
+ String groupName = practiceGroup.getName();
|
|
|
+ groupName=groupName.substring(groupName.indexOf("•"));
|
|
|
+ groupName=subject.getName()+groupName;
|
|
|
+ practiceGroup.setName(groupName);
|
|
|
+ practiceGroup.setSubjectId(subjectId);
|
|
|
+ practiceGroupDao.update(practiceGroup);
|
|
|
+ ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(practiceGroupId, GroupType.PRACTICE.getCode());
|
|
|
+ classGroup.setName(groupName);
|
|
|
+ classGroupDao.update(classGroup);
|
|
|
+ courseScheduleDao.updateCourseNameByGroup(practiceGroupId,GroupType.PRACTICE,groupName);
|
|
|
+ }
|
|
|
+
|
|
|
if (teacherIdMap != null && teacherIdMap.size() > 0) {
|
|
|
sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
|
|
|
teacherIdMap, null, 0, "7","TEACHER");
|