From 1f831405588626cec0f6d27b97695895d0ee7108 Mon Sep 17 00:00:00 2001 From: Tq Date: Mon, 14 Mar 2022 16:40:07 +0800 Subject: [PATCH] fix create&update wrokflow cron APIs, verify end time must bigger than start time (#8871) --- .../api/service/impl/SchedulerServiceImpl.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java index e46672f802..49b3f1fe3f 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/SchedulerServiceImpl.java @@ -168,6 +168,11 @@ public class SchedulerServiceImpl extends BaseServiceImpl implements SchedulerSe putMsg(result, Status.SCHEDULE_START_TIME_END_TIME_SAME); return result; } + if (scheduleParam.getStartTime().getTime() > scheduleParam.getEndTime().getTime()) { + logger.warn("The start time must smaller than end time"); + putMsg(result, Status.START_TIME_BIGGER_THAN_END_TIME_ERROR); + return result; + } scheduleObj.setStartTime(scheduleParam.getStartTime()); scheduleObj.setEndTime(scheduleParam.getEndTime()); if (!org.quartz.CronExpression.isValidExpression(scheduleParam.getCrontab())) { @@ -649,6 +654,12 @@ public class SchedulerServiceImpl extends BaseServiceImpl implements SchedulerSe putMsg(result, Status.SCHEDULE_START_TIME_END_TIME_SAME); return; } + if (scheduleParam.getStartTime().getTime() > scheduleParam.getEndTime().getTime()) { + logger.warn("The start time must smaller than end time"); + putMsg(result, Status.START_TIME_BIGGER_THAN_END_TIME_ERROR); + return; + } + schedule.setStartTime(scheduleParam.getStartTime()); schedule.setEndTime(scheduleParam.getEndTime()); if (!org.quartz.CronExpression.isValidExpression(scheduleParam.getCrontab())) {