You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
3.5 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.chenxuan.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chenxuan.base.controller.BaseController;
import com.chenxuan.base.entity.AjaxResult;
import com.chenxuan.bean.annotation.LogAnnotation;
import com.chenxuan.entity.dto.ScheduleJobDto;
import com.chenxuan.entity.model.ScheduleJob;
import com.chenxuan.enums.OperateType;
import com.chenxuan.service.ScheduleJobService;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @ClassNameScheduleJobController
* @Description 定时任务控制器
* @Author Arno_Fu
* @CreatTime12/26/2019 - 4:57 PM
* @Version V1.0
*/
@RestController
@RequestMapping("/quartz/job")
public class ScheduleJobController extends BaseController {
@Autowired
private ScheduleJobService scheduleJobService;
/**
* 获取定时列表
*/
@GetMapping("/page")
public AjaxResult page(ScheduleJobDto dto) {
Page<ScheduleJob> page = scheduleJobService.queryPage(dto);
return AjaxResult.success(page);
}
/**
* 返回编辑页面数据
*
* @param jobId
* @return
*/
@GetMapping("/info")
public AjaxResult info(@RequestParam("jobId") Long jobId) {
ScheduleJob job = scheduleJobService.getById(jobId);
return AjaxResult.success(job);
}
/**
* 新增定时任务
*
* @param job
* @return
* @throws SchedulerException
*/
@PostMapping("/add")
@LogAnnotation(module = "新增定时任务", operateType = OperateType.INSERT)
public AjaxResult add(@RequestBody ScheduleJob job) throws SchedulerException {
return scheduleJobService.add(job);
}
/**
* 编辑定时任务
*
* @param job
* @return
* @throws SchedulerException
*/
@PutMapping("/update")
public AjaxResult update(@RequestBody ScheduleJob job) throws SchedulerException {
return scheduleJobService.update(job);
}
/**
* 启动定时任务
*
* @param jobIds
* @return
* @throws SchedulerException
*/
@GetMapping("/start")
public AjaxResult start(@RequestParam("jobIds") String[] jobIds) throws SchedulerException {
return returnAjax(scheduleJobService.start(jobIds));
}
/**
* 暂停定时任务
*
* @param jobIds
* @return
* @throws SchedulerException
*/
@GetMapping("/pause")
public AjaxResult pause(@RequestParam("jobIds") String[] jobIds) throws SchedulerException {
return returnAjax(scheduleJobService.pause(jobIds));
}
/**
* 删除定时任务
*
* @param jobIds
* @return
* @throws SchedulerException
*/
@DeleteMapping("/delete")
public AjaxResult delete(@RequestParam("jobIds") String[] jobIds) throws SchedulerException {
return scheduleJobService.delete(jobIds);
}
/**
* 启动所有的定时任务
*
* @return
* @throws SchedulerException
*/
@GetMapping("/startAllJob")
public AjaxResult startAllJob() throws SchedulerException {
scheduleJobService.startAllJob();
return AjaxResult.success();
}
/**
* 暂停所有的定时任务
*
* @return
* @throws SchedulerException
*/
@GetMapping("/pauseAllJob")
public AjaxResult pauseAllJob() throws SchedulerException {
scheduleJobService.pauseAllJob();
return AjaxResult.success();
}
}