//3.修改时间段 //通过修改时间段id和当前时间(08:00)查询(待训练)课程信息 Time start = RcqtUtils.getTime(updateTime.getStartReservationTime());//前端时间 Time end = RcqtUtils.getTime(updateTime.getEndReservationTime());

// 检查时间段是否合法 Result timeCheckResult = checkTimeValidity(updateTime, start, end, updateTimeMy, RcqtUtils.getDay(), LocalTime.now()); if (timeCheckResult != null) { return timeCheckResult; }

// 查询待训练的课程 List courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId()); log.info('courseInfos' + courseInfos);

// 存放待训练的课程 List courseDtoListByNow = new ArrayList<>(); for (CourseDto courseDto0 : courseInfos) { if (courseDto0.getCourseDate().equals(RcqtUtils.getDay())) { if (LocalTime.now().isBefore(courseDto0.getStartReservationTime().toLocalTime())) { courseDtoListByNow.add(courseDto0); } } else if (courseDto0.getCourseDate().after(RcqtUtils.getDay())) { courseDtoListByNow.add(courseDto0); } }

// 查询学员信息 List carUserList = new ArrayList<>(); if (!CollectionUtils.isEmpty(courseDtoListByNow)) { for (CourseDto courseDto : courseDtoListByNow) { CarUser carUser = carUserService.queryOneCarUserById(courseDto.getUserId()); carUserList.add(carUser); } for (CourseDto courseDto : courseDtoListByNow) { courseDto.setCarUserList(carUserList); } log.info('通知'); map.put('courseInfos', courseDtoListByNow); return new Result<>(ResultCode.NOTICE_COACH, map); } else { log.info('当前无预约学员'); //当前无预约学员 updateTimeMy.setStartReservationTime(start); updateTimeMy.setEndReservationTime(end); } updateTimeMyList.add(updateTimeMy);

// 检查时间段有效性 private Result checkTimeValidity(UpdateTime updateTime, Time start, Time end, UpdateTime updateTimeMy, Date today, LocalTime now) { // 时间顺序判断 if (start.toLocalTime().isAfter(end.toLocalTime())) { log.error('时间顺序反!'); return new Result<>(ResultCode.TIME_NOT_RIGHT); } // 过期时间判断 if (updateTime.getCourseDate().equals(today)) { if (start.toLocalTime().isBefore(now)) { log.error('不能修改时间为过期时间!'); return new Result<>(ResultCode.TIME_IS_OUT); } } // 数据库中时间段为空的判断 if (updateTimeMy.getStartReservationTime() != null && updateTimeMy.getEndReservationTime() != null) { log.info('数据库时间段不为空!'); List updateTimeList = updateTimeService.queryUpdateTimeByDate(updateTimeMy.getCoachId(), updateTimeMy.getCourseDate()); for (UpdateTime d : updateTimeList) { if (!Objects.equals(updateTime.getUpdateTimeId(), d.getUpdateTimeId())) { // 排除时间段为空的 if (d.getEndReservationTime() != null && d.getStartReservationTime() != null) { // 时间重复判断 if (start.equals(d.getStartReservationTime()) && end.equals(d.getEndReservationTime())) { log.error('时间重复!'); return new Result<>(ResultCode.TIME_NOT_RIGHT); } // 时间冲突判断 if ((!start.equals(d.getEndReservationTime())) && (!end.equals(d.getStartReservationTime()))) { if ((!start.after(d.getEndReservationTime())) && (!end.before(d.getStartReservationTime()))) { log.error('时间冲突!'); return new Result<>(ResultCode.TIME_NOT_RIGHT); } } } } } } else { List updateTimeList = updateTimeService.queryUpdateTimeByDate(updateTimeMy.getCoachId(), updateTimeMy.getCourseDate()); for (UpdateTime d : updateTimeList) { if (!Objects.equals(updateTime.getUpdateTimeId(), d.getUpdateTimeId())) { // 排除时间段为空的 if (d.getEndReservationTime() != null && d.getStartReservationTime() != null) { // 时间重复判断 if (start.equals(d.getStartReservationTime()) && end.equals(d.getEndReservationTime())) { log.error('时间重复!'); return new Result<>(ResultCode.TIME_NOT_RIGHT); } // 时间冲突判断 if ((!start.equals(d.getEndReservationTime())) && (!end.equals(d.getStartReservationTime()))) { if ((!start.after(d.getEndReservationTime())) && (!end.before(d.getStartReservationTime()))) { log.error('时间冲突!'); return new Result<>(ResultCode.TIME_NOT_RIGHT); } } } } } } return null; }

修改教练时间段并通知学员

原文地址: https://www.cveoy.top/t/topic/qnEJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录