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<PagerResult<QuartzTaskInfoVO>> 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<String> 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<String> 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<String> 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<String> 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<PagerResult<QuartzTaskRecordVO>> 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<QuartzTaskErrorVO> detailTaskErrors(@PathVariable String recordId) {
|
try {
|
return quartzService.detailTaskErrors(recordId);
|
} catch (Exception e) {
|
logger.error("/taskErrors", e);
|
return ExecutedResult.failed(e.getMessage());
|
}
|
}
|
}
|