Loading escheduler-api/src/main/java/cn/escheduler/api/controller/SchedulerController.java +25 −0 Original line number Diff line number Diff line Loading @@ -230,4 +230,29 @@ public class SchedulerController extends BaseController{ return error(Status.QUERY_SCHEDULE_LIST_ERROR.getCode(), Status.QUERY_SCHEDULE_LIST_ERROR.getMsg()); } } /** * delete schedule by id * * @param loginUser * @param projectName * @param scheduleId * @return */ @GetMapping(value="/delete") @ResponseStatus(HttpStatus.OK) public Result deleteScheduleById(@RequestAttribute(value = SESSION_USER) User loginUser, @PathVariable String projectName, @RequestParam("scheduleId") Integer scheduleId ){ try{ logger.info("delete schedule by id, login user:{}, project name:{}, schedule id:{}", loginUser.getUserName(), projectName, scheduleId); Map<String, Object> result = schedulerService.deleteScheduleById(loginUser, projectName, scheduleId); return returnDataList(result); }catch (Exception e){ logger.error(DELETE_SCHEDULE_CRON_BY_ID_ERROR.getMsg(),e); return error(Status.DELETE_SCHEDULE_CRON_BY_ID_ERROR.getCode(), Status.DELETE_SCHEDULE_CRON_BY_ID_ERROR.getMsg()); } } } escheduler-api/src/main/java/cn/escheduler/api/enums/Status.java +1 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,7 @@ public enum Status { PROCESS_DEFINE_STATE_ONLINE(50021, "process definition {0} is already on line"), DELETE_PROCESS_DEFINE_BY_ID_ERROR(50022,"delete process definition by id error"), SCHEDULE_CRON_STATE_ONLINE(50023,"the status of schedule {0} is already on line"), DELETE_SCHEDULE_CRON_BY_ID_ERROR(50024,"delete schedule by id error"), HDFS_NOT_STARTUP(60001,"hdfs not startup"), Loading escheduler-api/src/main/java/cn/escheduler/api/service/SchedulerService.java +42 −0 Original line number Diff line number Diff line Loading @@ -488,4 +488,46 @@ public class SchedulerService extends BaseService { } return null; } /** * delete schedule by id * * @param loginUser * @param projectName * @param scheduleId * @return */ public Map<String, Object> deleteScheduleById(User loginUser, String projectName, Integer scheduleId) { Map<String, Object> result = new HashMap<>(5); Project project = projectMapper.queryByName(projectName); Map<String, Object> checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); Status resultEnum = (Status) checkResult.get(Constants.STATUS); if (resultEnum != Status.SUCCESS) { return checkResult; } Schedule schedule = scheduleMapper.queryById(scheduleId); if (schedule == null) { putMsg(result, Status.SCHEDULE_CRON_NOT_EXISTS, scheduleId); return result; } // check schedule is already online if(schedule.getReleaseState() == ReleaseState.ONLINE){ putMsg(result, Status.SCHEDULE_CRON_STATE_ONLINE,schedule.getId()); return result; } int delete = scheduleMapper.delete(scheduleId); if (delete > 0) { putMsg(result, Status.SUCCESS); } else { putMsg(result, Status.DELETE_SCHEDULE_CRON_BY_ID_ERROR); } return result; } } No newline at end of file Loading
escheduler-api/src/main/java/cn/escheduler/api/controller/SchedulerController.java +25 −0 Original line number Diff line number Diff line Loading @@ -230,4 +230,29 @@ public class SchedulerController extends BaseController{ return error(Status.QUERY_SCHEDULE_LIST_ERROR.getCode(), Status.QUERY_SCHEDULE_LIST_ERROR.getMsg()); } } /** * delete schedule by id * * @param loginUser * @param projectName * @param scheduleId * @return */ @GetMapping(value="/delete") @ResponseStatus(HttpStatus.OK) public Result deleteScheduleById(@RequestAttribute(value = SESSION_USER) User loginUser, @PathVariable String projectName, @RequestParam("scheduleId") Integer scheduleId ){ try{ logger.info("delete schedule by id, login user:{}, project name:{}, schedule id:{}", loginUser.getUserName(), projectName, scheduleId); Map<String, Object> result = schedulerService.deleteScheduleById(loginUser, projectName, scheduleId); return returnDataList(result); }catch (Exception e){ logger.error(DELETE_SCHEDULE_CRON_BY_ID_ERROR.getMsg(),e); return error(Status.DELETE_SCHEDULE_CRON_BY_ID_ERROR.getCode(), Status.DELETE_SCHEDULE_CRON_BY_ID_ERROR.getMsg()); } } }
escheduler-api/src/main/java/cn/escheduler/api/enums/Status.java +1 −0 Original line number Diff line number Diff line Loading @@ -203,6 +203,7 @@ public enum Status { PROCESS_DEFINE_STATE_ONLINE(50021, "process definition {0} is already on line"), DELETE_PROCESS_DEFINE_BY_ID_ERROR(50022,"delete process definition by id error"), SCHEDULE_CRON_STATE_ONLINE(50023,"the status of schedule {0} is already on line"), DELETE_SCHEDULE_CRON_BY_ID_ERROR(50024,"delete schedule by id error"), HDFS_NOT_STARTUP(60001,"hdfs not startup"), Loading
escheduler-api/src/main/java/cn/escheduler/api/service/SchedulerService.java +42 −0 Original line number Diff line number Diff line Loading @@ -488,4 +488,46 @@ public class SchedulerService extends BaseService { } return null; } /** * delete schedule by id * * @param loginUser * @param projectName * @param scheduleId * @return */ public Map<String, Object> deleteScheduleById(User loginUser, String projectName, Integer scheduleId) { Map<String, Object> result = new HashMap<>(5); Project project = projectMapper.queryByName(projectName); Map<String, Object> checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); Status resultEnum = (Status) checkResult.get(Constants.STATUS); if (resultEnum != Status.SUCCESS) { return checkResult; } Schedule schedule = scheduleMapper.queryById(scheduleId); if (schedule == null) { putMsg(result, Status.SCHEDULE_CRON_NOT_EXISTS, scheduleId); return result; } // check schedule is already online if(schedule.getReleaseState() == ReleaseState.ONLINE){ putMsg(result, Status.SCHEDULE_CRON_STATE_ONLINE,schedule.getId()); return result; } int delete = scheduleMapper.delete(scheduleId); if (delete > 0) { putMsg(result, Status.SUCCESS); } else { putMsg(result, Status.DELETE_SCHEDULE_CRON_BY_ID_ERROR); } return result; } } No newline at end of file