package com.lunhan.xxx.host.controller.base; import com.lunhan.xxx.common.ExecutedResult; import com.lunhan.xxx.common.PagerResult; import com.lunhan.xxx.entity.request.quartztaskinfo.ReqCreateQuartzTaskInfo; import com.lunhan.xxx.entity.request.quartztaskinfo.ReqModifyQuartzTaskInfo; import com.lunhan.xxx.entity.request.quartztaskinfo.ReqRunTaskRightNow; import com.lunhan.xxx.entity.search.SearchQuartzTaskInfo; import com.lunhan.xxx.entity.search.SearchQuartzTaskRecord; import com.lunhan.xxx.host.api.NonLogin; import com.lunhan.xxx.repository.vo.QuartzTaskErrorVO; import com.lunhan.xxx.repository.vo.QuartzTaskInfoVO; import com.lunhan.xxx.repository.vo.QuartzTaskRecordVO; import com.lunhan.xxx.service.quartz.QuartzService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; /** * 03.任务调度 * @author lin.liu * @order 03 */ @NonLogin @Controller @RequestMapping("quartz") public class QuartzController { private static final Logger logger = LoggerFactory.getLogger(QuartzController.class); @Autowired private QuartzService quartzService; /** * 任务列表 * @param request 请求参数 */ @ResponseBody @PostMapping("listTask") public ExecutedResult> listTask(@RequestBody SearchQuartzTaskInfo request) { try { return quartzService.listTask(request); } catch (Exception e) { logger.error("listTask", e); return ExecutedResult.failed(e.getMessage()); } } /** * 添加任务 * @param request 请求参数 */ @ResponseBody @PostMapping("addTask") public ExecutedResult addTask(@RequestBody ReqCreateQuartzTaskInfo request) { try { return quartzService.addTask(request); } catch (Exception e) { logger.error("addTask", e); return ExecutedResult.failed(e.getMessage()); } } /** * 修改任务 * @param request 请求参数 */ @ResponseBody @PostMapping("editTask") public ExecutedResult editTask(@RequestBody ReqModifyQuartzTaskInfo request) { try { return quartzService.updateTask(request); } catch (Exception e) { logger.error("editTask", e); return ExecutedResult.failed(e.getMessage()); } } /** * 启动 或者 暂定定时任务 * @param taskId 任务id */ @ResponseBody @PostMapping("optionJob/{taskId}") public ExecutedResult optionJob(@PathVariable Long taskId) { try { return quartzService.optionJob(taskId); } catch (Exception e) { logger.error("optionJob", e); return ExecutedResult.failed(e.getMessage()); } } /** * 立即运行一次定时任务 * @param request 请求参数 */ @ResponseBody @PostMapping("runTaskRightNow") public ExecutedResult runTaskRightNow(@RequestBody ReqRunTaskRightNow request) { try { return quartzService.runTaskRightNow(request); } catch (Exception e) { logger.error("/runTaskRightNow", e); return ExecutedResult.failed(e.getMessage()); } } /** * 定时任务执行情况 * * @param search 请求参数 */ @ResponseBody @PostMapping("taskRecords") public ExecutedResult> taskRecords(@RequestBody SearchQuartzTaskRecord search) { try { return quartzService.taskRecords(search); } catch (Exception e) { logger.error("/taskRecords", e); return ExecutedResult.failed(e.getMessage()); } } /** * 定时任务错误详情 * * @param recordId 执行记录id */ @ResponseBody @GetMapping("taskErrors/{recordId}") public ExecutedResult detailTaskErrors(@PathVariable String recordId) { try { return quartzService.detailTaskErrors(recordId); } catch (Exception e) { logger.error("/taskErrors", e); return ExecutedResult.failed(e.getMessage()); } } }