|
@@ -50,6 +50,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
@Autowired
|
|
|
+ private CourseScheduleModifyLogDao courseScheduleModifyLogDao;
|
|
|
+ @Autowired
|
|
|
private CourseScheduleComplaintsDao courseScheduleComplaintsDao;
|
|
|
@Autowired
|
|
|
private SysConfigDao sysConfigDao;
|
|
@@ -1179,6 +1181,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
public void vipCourseAdjust(VipGroupCourseAdjustInfoDto vipGroupCourseAdjustInfo) {
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == user) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
if (Objects.isNull(vipGroupCourseAdjustInfo.getVipGroupId())) {
|
|
|
throw new BizException("请指定小课");
|
|
|
}
|
|
@@ -1224,7 +1230,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
.stream().map(Long::parseLong).collect(Collectors.toList());
|
|
|
//所有的课程
|
|
|
List<CourseSchedule> courseSchedules = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
|
|
|
-
|
|
|
+ //保存修改记录
|
|
|
+ List<CourseScheduleModifyLog> scheduleModifyLogs = new ArrayList<>(courseSchedules.size());
|
|
|
+ Date date = new Date();
|
|
|
+ courseSchedules.forEach(e->{
|
|
|
+ CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
+ scheduleModifyLog.setCourseScheduleId(e.getId());
|
|
|
+ scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(e));
|
|
|
+ scheduleModifyLog.setCreateTime(date);
|
|
|
+ scheduleModifyLog.setOperatorId(user.getId());
|
|
|
+ scheduleModifyLogs.add(scheduleModifyLog);
|
|
|
+ });
|
|
|
courseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
|
|
|
|
|
|
if (courseScheduleIds.size() != courseScheduleIds.size()) {
|
|
@@ -1329,6 +1345,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
classGroupService.updateClassGroupInfo(classGroup.getId());
|
|
|
// vipGroupService.checkVipCourseIsInScore(vipGroupCourseAdjustInfo.getVipGroupId().longValue());
|
|
|
// courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
|
|
|
+ if(scheduleModifyLogs.size() == courseSchedules.size()){
|
|
|
+ for (int i = 0;i<courseSchedules.size();i++){
|
|
|
+ scheduleModifyLogs.get(i).setCurrentCourseSchedule(JSONObject.toJSONString(courseSchedules.get(i)));
|
|
|
+ }
|
|
|
+ courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -2519,13 +2541,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void practiceCourseAdjust(CourseSchedule courseSchedule) {
|
|
|
- if(Objects.isNull(courseSchedule.getId())){
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == user) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
+ Long courseScheduleId = courseSchedule.getId();
|
|
|
+ if(Objects.isNull(courseScheduleId)){
|
|
|
throw new BizException("请指定课程");
|
|
|
}
|
|
|
if(Objects.isNull(courseSchedule.getStartClassTime())){
|
|
|
throw new BizException("请指定上课时间");
|
|
|
}
|
|
|
- CourseSchedule oldCourseSchedule = courseScheduleDao.get(courseSchedule.getId());
|
|
|
+ CourseSchedule oldCourseSchedule = courseScheduleDao.get(courseScheduleId);
|
|
|
if(Objects.isNull(oldCourseSchedule)){
|
|
|
throw new BizException("未找到对应课程");
|
|
|
}
|
|
@@ -2545,7 +2572,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
|
|
|
throw new BizException("调整失败: 截止时间超过课程有效期");
|
|
|
}
|
|
|
+ //保存修改记录
|
|
|
Date date = new Date();
|
|
|
+ CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
+ scheduleModifyLog.setCourseScheduleId(courseScheduleId);
|
|
|
+ scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
|
|
|
+ scheduleModifyLog.setCreateTime(date);
|
|
|
+ oldCourseSchedule.setUpdateTime(date);
|
|
|
+
|
|
|
if(DateUtil.minutesBetween(endDateTime,date) > 0){
|
|
|
oldCourseSchedule.setStatus(CourseStatusEnum.OVER);
|
|
|
}else if(DateUtil.minutesBetween(date,startDateTime) > 0){
|
|
@@ -2561,20 +2595,29 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
oldCourseSchedule.setClassDate(courseSchedule.getStartClassTime());
|
|
|
oldCourseSchedule.setStartClassTime(courseSchedule.getStartClassTime());
|
|
|
oldCourseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(),practiceCourseMinutes));
|
|
|
+
|
|
|
+ scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
|
|
|
+ scheduleModifyLog.setOperatorId(user.getId());
|
|
|
+
|
|
|
List<CourseSchedule> courseSchedules=new ArrayList<>();
|
|
|
courseSchedules.add(oldCourseSchedule);
|
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
|
if(oldCourseSchedule.getStatus() == CourseStatusEnum.NOT_START){
|
|
|
teacherAttendanceDao.batchUpdateTeacher(courseSchedules.stream().map(e->e.getId()).collect(Collectors.toSet()),oldCourseSchedule.getActualTeacherId());
|
|
|
//清空学生签到记录
|
|
|
- studentAttendanceDao.deleteStudentAttendancesByCourse(courseSchedule.getId());
|
|
|
+ studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
|
|
|
}
|
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
|
+ courseScheduleModifyLogDao.insert(scheduleModifyLog);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void practiceCourseTeacherAdjust(Long courseScheduleId,Integer teacherId) {
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == user) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
if(Objects.isNull(courseScheduleId)){
|
|
|
throw new BizException("请指定课程");
|
|
|
}
|
|
@@ -2591,14 +2634,28 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if(teacherId.equals(oldCourseSchedule.getActualTeacherId())){
|
|
|
throw new BizException("请选择不同的老师");
|
|
|
}
|
|
|
+
|
|
|
+ //保存修改记录
|
|
|
+ Date date = new Date();
|
|
|
+ CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
+ scheduleModifyLog.setCourseScheduleId(courseScheduleId);
|
|
|
+ scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
|
|
|
+ scheduleModifyLog.setCreateTime(date);
|
|
|
+ oldCourseSchedule.setUpdateTime(date);
|
|
|
oldCourseSchedule.setActualTeacherId(teacherId);
|
|
|
+ scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
|
|
|
+ scheduleModifyLog.setOperatorId(user.getId());
|
|
|
+
|
|
|
List<CourseSchedule> courseSchedules = new ArrayList<>();
|
|
|
courseSchedules.add(oldCourseSchedule);
|
|
|
Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
|
+
|
|
|
courseScheduleDao.update(oldCourseSchedule);
|
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
+ courseScheduleModifyLogDao.insert(scheduleModifyLog);
|
|
|
+
|
|
|
Map<Integer, String> map = new HashMap<>(2);
|
|
|
map.put(teacherId,teacherId.toString());
|
|
|
map.put(oldCourseSchedule.getActualTeacherId(),oldCourseSchedule.getActualTeacherId().toString());
|
|
@@ -2611,6 +2668,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId) {
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == user) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
if(StringUtils.isEmpty(practiceGroupId)){
|
|
|
throw new BizException("请指定课程组");
|
|
|
}
|
|
@@ -2624,11 +2685,23 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if(courseSchedules == null || courseSchedules.size() == 0){
|
|
|
throw new BizException("没有可调整的课程");
|
|
|
}
|
|
|
+
|
|
|
Map<Integer, String> teacherIdMap = new HashMap<>(10);
|
|
|
teacherIdMap.put(teacherId,teacherId.toString());
|
|
|
+ List<CourseScheduleModifyLog> scheduleModifyLogs = new ArrayList<>(courseSchedules.size());
|
|
|
+ Date date = new Date();
|
|
|
courseSchedules.forEach(e->{
|
|
|
+ //保存修改记录
|
|
|
+ CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
+ scheduleModifyLog.setCourseScheduleId(e.getId());
|
|
|
+ scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(e));
|
|
|
+ scheduleModifyLog.setCreateTime(date);
|
|
|
teacherIdMap.put(e.getActualTeacherId(),e.getActualTeacherId().toString());
|
|
|
+ e.setUpdateTime(date);
|
|
|
e.setActualTeacherId(teacherId);
|
|
|
+ scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(e));
|
|
|
+ scheduleModifyLog.setOperatorId(user.getId());
|
|
|
+ scheduleModifyLogs.add(scheduleModifyLog);
|
|
|
});
|
|
|
checkNewCourseSchedules(courseSchedules,false);
|
|
|
courseScheduleDao.batchUpdate(courseSchedules);
|
|
@@ -2639,6 +2712,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
classGroupTeacherSalaryDao.updateTeacher(classGroupIds,teacherId);
|
|
|
practiceGroupDao.updateUserId(practiceGroupId,teacherId);
|
|
|
teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
|
|
|
+ courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
|
|
|
+
|
|
|
if (teacherIdMap != null && teacherIdMap.size() > 0) {
|
|
|
sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
|
|
|
teacherIdMap, null, 0, "7","TEACHER");
|