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

            if (!start.equals(updateTimeMy.getStartReservationTime()) && !end.equals(updateTimeMy.getEndReservationTime())) {
                log.info('开始时间和结束时间都不同');
                //当日期是今天时,不能修改时间为过期时间
                if (updateTime.getCourseDate().equals(RcqtUtils.getDay())) {
                    if (start.toLocalTime().isBefore(LocalTime.now())) {
                        log.error('不能修改时间为过期时间!');
                        return new Result<>(ResultCode.TIME_IS_OUT);
                    }
                }

                //排除前端传递的时间段与数据库里相同
                if (start.toLocalTime().isAfter(end.toLocalTime())) {
                    log.error('时间顺序反!');
                    return new Result<>(ResultCode.TIME_NOT_RIGHT);
                }
                //排除数据库中开始时间和结束时间为空的
                if (updateTimeMy.getStartReservationTime() != null && updateTimeMy.getEndReservationTime() != null) {
                    log.info('数据库时间段不为空!');
                    List<UpdateTime> 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);
                                    }
                                }
                            }
                        }
                    }

                    List<CourseDto> courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId());
                    log.info('courseInfos' + courseInfos);
                    //存放待训练的课程
                    List<CourseDto> 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<CarUser> 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);
                    }

                } else {

                    List<UpdateTime> 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);
                                    }
                                }
                            }
                        }
                    }

                    List<CourseDto> courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId());
                    //存放待训练的课程
                    List<CourseDto> 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<CarUser> carUserList = new ArrayList<>();
                    if (!CollectionUtils.isEmpty(courseInfos)) {
                        for (CourseDto courseDto : courseInfos) {
                            CarUser carUser = carUserService.queryOneCarUserById(courseDto.getUserId());
                            carUserList.add(carUser);
                        }
                        for (CourseDto courseDto : courseInfos) {
                            courseDto.setCarUserList(carUserList);
                        }

                        log.info('通知');
                        map.put('courseInfos', courseInfos);
                        return new Result<>(ResultCode.NOTICE_COACH, map);
                    } else {
                        log.info('当前无预约学员');
                        //当前无预约学员
                        updateTimeMy.setStartReservationTime(start);
                        updateTimeMy.setEndReservationTime(end);
                    }
                }
            } else if (start.equals(updateTimeMy.getStartReservationTime()) && !end.equals(updateTimeMy.getEndReservationTime())) {
                log.info('开始时间相同,结束时间不同');
                //当日期是今天时,不能修改时间为过期时间
                if (updateTime.getCourseDate().equals(RcqtUtils.getDay())) {
                    if (start.toLocalTime().isBefore(LocalTime.now())) {
                        log.error('不能修改时间为过期时间!');
                        return new Result<>(ResultCode.TIME_IS_OUT);
                    }
                }

                //排除前端传递的时间段与数据库里相同
                if (start.toLocalTime().isAfter(end.toLocalTime())) {
                    log.error('时间顺序反!');
                    return new Result<>(ResultCode.TIME_NOT_RIGHT);
                }
                //排除数据库中开始时间和结束时间为空的
                if (updateTimeMy.getStartReservationTime() != null && updateTimeMy.getEndReservationTime() != null) {
                    log.info('数据库时间段不为空!');
                    List<UpdateTime> 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);
                                    }
                                }
                            }
                        }
                    }

                    List<CourseDto> courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId());
                    log.info('courseInfos' + courseInfos);
                    //存放待训练的课程
                    List<CourseDto> 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<CarUser> 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);
                    }

                } else {

                    List<UpdateTime> 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);
                                    }
                                }
                            }
                        }
                    }

                    List<CourseDto> courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId());
                    //存放待训练的课程
                    List<CourseDto> 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<CarUser> carUserList = new ArrayList<>();
                    if (!CollectionUtils.isEmpty(courseInfos)) {
                        for (CourseDto courseDto : courseInfos) {
                            CarUser carUser = carUserService.queryOneCarUserById(courseDto.getUserId());
                            carUserList.add(carUser);
                        }
                        for (CourseDto courseDto : courseInfos) {
                            courseDto.setCarUserList(carUserList);
                        }

                        log.info('通知');
                        map.put('courseInfos', courseInfos);
                        return new Result<>(ResultCode.NOTICE_COACH, map);
                    } else {
                        log.info('当前无预约学员');
                        //当前无预约学员
                        updateTimeMy.setStartReservationTime(start);
                        updateTimeMy.setEndReservationTime(end);
                    }
                }
            } else if (!start.equals(updateTimeMy.getStartReservationTime()) && end.equals(updateTimeMy.getEndReservationTime())) {
                log.info('开始时间不同,结束时间相同');
                //当日期是今天时,不能修改时间为过期时间
                if (updateTime.getCourseDate().equals(RcqtUtils.getDay())) {
                    if (start.toLocalTime().isBefore(LocalTime.now())) {
                        log.error('不能修改时间为过期时间!');
                        return new Result<>(ResultCode.TIME_IS_OUT);
                    }
                }

                //排除前端传递的时间段与数据库里相同
                if (start.toLocalTime().isAfter(end.toLocalTime())) {
                    log.error('时间顺序反!');
                    return new Result<>(ResultCode.TIME_NOT_RIGHT);
                }
                //排除数据库中开始时间和结束时间为空的
                if (updateTimeMy.getStartReservationTime() != null && updateTimeMy.getEndReservationTime() != null) {
                    log.info('数据库时间段不为空!');
                    List<UpdateTime> 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);
                                    }
                                }
                            }
                        }
                    }

                    List<CourseDto> courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId());
                    log.info('courseInfos' + courseInfos);
                    //存放待训练的课程
                    List<CourseDto> 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<CarUser> 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);
                    }

                } else {

                    List<UpdateTime> 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);
                                    }
                                }
                            }
                        }
                    }

                    List<CourseDto> courseInfos = courseInfoService.queryCourseByUpdateTimeIdByStatus0(updateTime.getUpdateTimeId());
                    //存放待训练的课程
                    List<CourseDto> 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<CarUser> carUserList = new ArrayList<>();
                    if (!CollectionUtils.isEmpty(courseInfos)) {
                        for (CourseDto courseDto : courseInfos) {
                            CarUser carUser = carUserService.queryOneCarUserById(courseDto.getUserId());
                            carUserList.add(carUser);
                        }
                        for (CourseDto courseDto : courseInfos) {
                            courseDto.setCarUserList(carUserList);
                        }

                        log.info('通知');
                        map.put('courseInfos', courseInfos);
                        return new Result<>(ResultCode.NOTICE_COACH, map);
                    } else {
                        log.info('当前无预约学员');
                        //当前无预约学员
                        updateTimeMy.setStartReservationTime(start);
                        updateTimeMy.setEndReservationTime(end);
                    }
                }
            }
        }
        updateTimeMyList.add(updateTimeMy);
修改教练时间段并查询待训练课程

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

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