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原创不易,完成人机校验,阅读全文