|
@@ -217,13 +217,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void createCourseSchedules(CreateCourseScheduleDto createCourseScheduleDto) {
|
|
|
List<CourseSchedule> courseSchedules = createCourseScheduleDto.getCourseSchedules();
|
|
|
- //添加课程计划
|
|
|
- batchAddCourseSchedule(courseSchedules);
|
|
|
- //更新课次
|
|
|
- List<Integer> classGroupIds = courseSchedules.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
|
|
|
- classGroupService.batchUpdateClassCourseTimes(classGroupIds);
|
|
|
- //创建学生单节课的缴费记录,乐团课的缴费为0
|
|
|
- courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentByCourseSchedules(courseSchedules);
|
|
|
+
|
|
|
+ if(!CollectionUtils.isEmpty(courseSchedules)){
|
|
|
+ //添加课程计划
|
|
|
+ batchAddCourseSchedule(courseSchedules);
|
|
|
+ //更新课次
|
|
|
+ List<Integer> classGroupIds = courseSchedules.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
|
|
|
+ classGroupService.batchUpdateClassCourseTimes(classGroupIds);
|
|
|
+ //创建学生单节课的缴费记录,乐团课的缴费为0
|
|
|
+ courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentByCourseSchedules(courseSchedules);
|
|
|
+ }
|
|
|
|
|
|
MusicGroup musicGroup = musicGroupService.get(createCourseScheduleDto.getMusicGroupID());
|
|
|
|
|
@@ -1084,6 +1087,47 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ public void coursePostpone(CoursePostponeDto coursePostPoneInfo) {
|
|
|
+ if(StringUtils.isBlank(coursePostPoneInfo.getClassGroupIds())){
|
|
|
+ throw new BizException("请指定班级");
|
|
|
+ }
|
|
|
+ if(Objects.isNull(coursePostPoneInfo.getPauseDate())){
|
|
|
+ throw new BizException("请指定课程暂停时间");
|
|
|
+ }
|
|
|
+ if(Objects.isNull(coursePostPoneInfo.getRecoveryDate())){
|
|
|
+ throw new BizException("请指定课程恢复时间");
|
|
|
+ }
|
|
|
+ //间隔天数
|
|
|
+ int betweenDays = DateUtil.daysBetween(coursePostPoneInfo.getPauseDate(), coursePostPoneInfo.getRecoveryDate());
|
|
|
+ List<CourseSchedule> classGroupCourseSchedulesWithDate = courseScheduleDao.findClassGroupCourseSchedulesWithDate(coursePostPoneInfo.getClassGroupIds(), coursePostPoneInfo.getPauseDate());
|
|
|
+
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(coursePostPoneInfo.getRecoveryDate());
|
|
|
+
|
|
|
+ Map<String, Integer> holidayDays = new HashMap<>();
|
|
|
+ Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
|
|
|
+
|
|
|
+ for (int i=0;i<classGroupCourseSchedulesWithDate.size();i++) {
|
|
|
+ CourseSchedule courseSchedule=classGroupCourseSchedulesWithDate.get(i);
|
|
|
+ calendar.setTime(courseSchedule.getClassDate());
|
|
|
+ calendar.add(Calendar.DATE, betweenDays);
|
|
|
+ if (coursePostPoneInfo.isSkipHoliday() && !holiday.containsKey(calendar.get(Calendar.YEAR))) {
|
|
|
+ holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
|
|
|
+ holidayDays = holiday.get(calendar.get(Calendar.YEAR));
|
|
|
+ }
|
|
|
+ if (coursePostPoneInfo.isSkipHoliday() && holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
|
|
|
+ betweenDays=betweenDays+7;
|
|
|
+ calendar.add(Calendar.DATE, betweenDays);
|
|
|
+ i=i-1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ classGroupCourseSchedulesWithDate.get(i).setClassDate(calendar.getTime());
|
|
|
+ }
|
|
|
+ courseScheduleDao.batchUpdate(classGroupCourseSchedulesWithDate);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void batchAppendVipGroupCourses(VipGroupCourseAdjustInfoDto vipGroupCourseAdjustInfo) {
|
|
|
if (Objects.isNull(vipGroupCourseAdjustInfo.getVipGroupId())) {
|
|
|
throw new BizException("请指定小课");
|