|
@@ -9,7 +9,10 @@ import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.dto.*;
|
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.*;
|
|
|
-import com.ym.mec.biz.dal.page.*;
|
|
|
+import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
|
|
|
+import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
|
|
|
+import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
|
|
|
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
@@ -43,6 +46,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Autowired
|
|
|
private CourseScheduleDao courseScheduleDao;
|
|
|
@Autowired
|
|
|
+ private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
|
|
|
+ @Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
@Autowired
|
|
|
private CourseScheduleComplaintsDao courseScheduleComplaintsDao;
|
|
@@ -61,8 +66,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Autowired
|
|
|
private TeacherDefaultVipGroupSalaryDao teacherDefaultVipGroupSalaryDao;
|
|
|
@Autowired
|
|
|
- private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
|
|
|
- @Autowired
|
|
|
private ClassGroupTeacherMapperService classGroupTeacherMapperService;
|
|
|
@Autowired
|
|
|
private CourseScheduleStudentPaymentService courseScheduleStudentPaymentService;
|
|
@@ -2347,6 +2350,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void practiceCourseAdjust(CourseSchedule courseSchedule) {
|
|
|
if(Objects.isNull(courseSchedule.getId())){
|
|
|
throw new BizException("请指定课程");
|
|
@@ -2376,31 +2380,73 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void practiceCourseTeacherAdjust(CourseSchedule courseSchedule) {
|
|
|
- if(Objects.isNull(courseSchedule.getId())){
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void practiceCourseTeacherAdjust(Long courseScheduleId,Integer teacherId) {
|
|
|
+ if(Objects.isNull(courseScheduleId)){
|
|
|
throw new BizException("请指定课程");
|
|
|
}
|
|
|
- if(Objects.isNull(courseSchedule.getActualTeacherId())){
|
|
|
+ if(Objects.isNull(teacherId)){
|
|
|
throw new BizException("请指定上课老师");
|
|
|
}
|
|
|
- CourseSchedule oldCourseSchedule = courseScheduleDao.get(courseSchedule.getId());
|
|
|
+ CourseSchedule oldCourseSchedule = courseScheduleDao.get(courseScheduleId);
|
|
|
if(Objects.isNull(oldCourseSchedule)){
|
|
|
throw new BizException("未找到对应课程");
|
|
|
}
|
|
|
if(!oldCourseSchedule.getGroupType().equals(GroupType.PRACTICE)){
|
|
|
throw new BizException("请选择陪练课");
|
|
|
}
|
|
|
- Integer practiceCourseMinutes=25;
|
|
|
- SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
|
|
|
- if(Objects.nonNull(practiceCourseMinutesConfig)){
|
|
|
- practiceCourseMinutes=practiceCourseMinutesConfig.getParanValue(Integer.class);
|
|
|
+ if(teacherId.equals(oldCourseSchedule.getActualTeacherId())){
|
|
|
+ throw new BizException("请选择不同的老师");
|
|
|
}
|
|
|
- oldCourseSchedule.setClassDate(courseSchedule.getStartClassTime());
|
|
|
- oldCourseSchedule.setStartClassTime(courseSchedule.getStartClassTime());
|
|
|
- oldCourseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(),practiceCourseMinutes));
|
|
|
- List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
|
+ oldCourseSchedule.setActualTeacherId(teacherId);
|
|
|
+ List<CourseSchedule> courseSchedules = new ArrayList<>();
|
|
|
courseSchedules.add(oldCourseSchedule);
|
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
|
+ Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
+ Map<Integer, String> map = new HashMap<>(2);
|
|
|
+ map.put(teacherId,teacherId.toString());
|
|
|
+ map.put(oldCourseSchedule.getActualTeacherId(),oldCourseSchedule.getActualTeacherId().toString());
|
|
|
+ if (map != null && map.size() > 0) {
|
|
|
+ sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
|
|
|
+ map, null, 0, "7","TEACHER");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId) {
|
|
|
+ if(StringUtils.isEmpty(practiceGroupId)){
|
|
|
+ throw new BizException("请指定课程组");
|
|
|
+ }
|
|
|
+ if(Objects.isNull(teacherId)){
|
|
|
+ throw new BizException("请指定上课老师");
|
|
|
+ }
|
|
|
+ List<CourseSchedule> courseSchedules = courseScheduleDao.findSurplusCourseWithGroup(GroupType.PRACTICE,practiceGroupId);
|
|
|
+ if(courseSchedules != null && courseSchedules.size() > 0){
|
|
|
+ courseSchedules = courseSchedules.stream().filter(courseSchedule -> !courseSchedule.getActualTeacherId().equals(teacherId)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ if(courseSchedules == null || courseSchedules.size() == 0){
|
|
|
+ throw new BizException("没有可调整课程");
|
|
|
+ }
|
|
|
+ Integer oldTeacherId = courseSchedules.stream().map(e -> e.getActualTeacherId()).findFirst().get();
|
|
|
+ if(teacherId.equals(oldTeacherId)){
|
|
|
+ throw new BizException("请选择不同的老师");
|
|
|
+ }
|
|
|
+ courseSchedules.forEach(e->{
|
|
|
+ e.setActualTeacherId(teacherId);
|
|
|
+ });
|
|
|
+ checkNewCourseSchedules(courseSchedules,false);
|
|
|
+ Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
|
+ courseScheduleDao.batchUpdate(courseSchedules);
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
+ Map<Integer, String> map = new HashMap<>(2);
|
|
|
+ map.put(teacherId,teacherId.toString());
|
|
|
+ map.put(oldTeacherId,oldTeacherId.toString());
|
|
|
+ if (map != null && map.size() > 0) {
|
|
|
+ sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
|
|
|
+ map, null, 0, "7","TEACHER");
|
|
|
+ }
|
|
|
}
|
|
|
}
|