工作小总结&小工具类

Java校验周期性是否存在重叠情况

场景描述:代码:/** * 校验周期时间是否叠加 * @param list * @return */ &

场景描述:



代码:

/**
     * 校验周期时间是否叠加
     * @param list
     * @return
     */
    public static ErrorTip checkCycleTime(List<CycleTimeVo> list) {
        if (CollectionUtils.size(list) < 2) {
            return null;
        }
        for (int i = 0; i < list.size(); i++) {
            CycleTimeVo timeVo = list.get(i);
            LocalTime startTime = LocalTime.parse(timeVo.getStartTimePoint());
            LocalTime endTime = LocalTime.parse(timeVo.getEndTimePoint());
            for (int j = 0; j < list.size(); j++) {
                if (i == j) {
                    continue;
                }
                CycleTimeVo nextTimeVo = list.get(j);
                if (Objects.equals(timeVo.getStartWeek(), nextTimeVo.getStartWeek()) && Objects.equals(timeVo.getEndWeek(), nextTimeVo.getEndWeek())
                        && StringUtils.equals(timeVo.getStartTimePoint(), nextTimeVo.getStartTimePoint()) && StringUtils.equals(timeVo.getEndTimePoint(), nextTimeVo.getEndTimePoint())) {
                    return new ErrorTip(500, String.format("周期时间有重叠[%s-%s]", i, j));
                }
                LocalTime nextStartTime = LocalTime.parse(nextTimeVo.getStartTimePoint());
                LocalTime nextEndTime = LocalTime.parse(nextTimeVo.getEndTimePoint());
                b

原创不易,完成人机校验,阅读全文

相关推荐