// 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/qnEE 著作权归作者所有。请勿转载和采集!

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