123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package com.example.demo.controller;
- import com.example.demo.base.Constants;
- import com.example.demo.domain.dto.QrtzTaskAddNewDTO;
- import com.example.demo.domain.dto.QrtzTaskUpdateDTO;
- import com.example.demo.domain.dto.QueryPageDTO;
- import com.example.demo.domain.dto.QueryTaskDetailsDTO;
- import com.example.demo.domain.entity.QrtzTask;
- import com.example.demo.service.JobService;
- import com.example.demo.service.QrTaskDetailService;
- import com.example.demo.service.QrTaskService;
- import com.example.demo.util.Response;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import lombok.RequiredArgsConstructor;
- import org.quartz.SchedulerException;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.web.bind.annotation.*;
- import java.io.IOException;
- import java.util.List;
- @RestController
- @Tag(name = "任务条件管理")
- @RequestMapping(Constants.QUARTZ_API + "/task")
- @RequiredArgsConstructor(onConstructor_ = {@Lazy})
- public class QuartzTaskController {
- private final JobService jobService;
- private final QrTaskService qrTaskService;
- private final QrTaskDetailService qrTaskDetailService;
- @Operation(summary = "添加任务条件")
- @PostMapping("/addTask")
- public String addTask(@RequestBody QrtzTaskAddNewDTO qrtzTaskAddNewDTO) throws SchedulerException {
- //添加任务
- QrtzTask qrtzTask = qrTaskService.addQuartzTask(qrtzTaskAddNewDTO);
- if (qrtzTask == null) {
- return Response.error("未配置网站登录信息");
- }
- //任务添加完,判断是定时任务则任务调度添加该定时任务
- if (qrtzTask.getTaskType() == 1) {
- jobService.addJob(qrtzTask);
- }
- return Response.success("添加任务完成");
- }
- @Operation(summary = "删除任务条件")
- @PostMapping("/deleteTasks")
- public String deleteTasks(@RequestBody List<Integer> taskIds) throws SchedulerException {
- return Response.success(qrTaskService.deleteQuartzTask(taskIds));
- }
- @Operation(summary = "查询任务条件列表")
- @PostMapping("/getTasks")
- public String getTasks(@RequestBody QueryPageDTO queryPageDTO) throws IOException {
- return Response.success(qrTaskService.getTasks(queryPageDTO));
- }
- @Operation(summary = "查询任务执行情况列表")
- @PostMapping("/getTaskDetails")
- public String getTaskDetails(@RequestBody QueryTaskDetailsDTO queryTaskDetailsDTO) {
- return Response.success(qrTaskService.getTaskDetails(queryTaskDetailsDTO));
- }
- @Operation(summary = "更新任务条件")
- @PostMapping("/update")
- public String update(@RequestBody QrtzTaskUpdateDTO qrtzTaskUpdateDTO) throws InterruptedException, SchedulerException {
- QrtzTask qrtzTask = qrTaskService.updateQuartzTask(qrtzTaskUpdateDTO);
- if (qrtzTask.getTaskType() == 1) {
- jobService.updateJob(qrtzTask);
- }
- return Response.success();
- }
- @Operation(summary = "暂停任务条件")
- @GetMapping("/pauseJob")
- public String pauseJob(Integer taskId) throws SchedulerException {
- jobService.pauseJob(taskId);
- return Response.success();
- }
- @Operation(summary = "继续任务")
- @GetMapping("/resumeJob")
- public String resumeJob(Integer taskId) throws SchedulerException {
- jobService.resumeJob(taskId);
- return Response.success();
- }
- @Operation(summary = "更改任务详情状态")
- @GetMapping("/setDetailState")
- public String setDetailState(Integer taskId, Integer state) throws SchedulerException {
- Integer flag = qrTaskDetailService.setDetailState(taskId, state);
- if (flag.equals(-1)) {
- return Response.error("更改状态失败");
- }
- return Response.success("更改状态成功");
- }
- }
|