package com.monkeylessey.job.controller;
|
|
import com.monkeylessey.group.Add;
|
import com.monkeylessey.group.Update;
|
import com.monkeylessey.job.domain.form.SysJobForm;
|
import com.monkeylessey.job.domain.query.SysJobQuery;
|
import com.monkeylessey.job.service.SysJobService;
|
import com.monkeylessey.response.Result;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 定时任务表 前端控制器
|
*
|
* @author 向培
|
* @since 2022-06-08
|
*/
|
@Validated
|
@RequiredArgsConstructor
|
@Api(value = "定时任务表", tags = "定时任务表")
|
@RestController
|
@RequestMapping("/sys-job")
|
public class SysJobController {
|
|
private final SysJobService sysJobService;
|
|
@PostMapping("/execute/once")
|
@PreAuthorize("hasAuthority('job:once')")
|
@ApiOperation(value = "执行一次", notes = "执行一次")
|
public Result executeJobOnce(@RequestBody @Validated(Update.class) SysJobForm form) {
|
return sysJobService.executeJobOnce(form);
|
}
|
|
@PostMapping("/pause/job")
|
@PreAuthorize("hasAuthority('job:pause')")
|
@ApiOperation(value = "暂停任务", notes = "暂停任务")
|
public Result pauseJob(@RequestBody @Validated(Update.class) SysJobForm form) {
|
return sysJobService.pauseJob(form);
|
}
|
|
@PostMapping("/start/job")
|
@PreAuthorize("hasAuthority('job:run')")
|
@ApiOperation(value = "启动任务", notes = "启动任务")
|
public Result startJob(@RequestBody @Validated(Update.class) SysJobForm form) {
|
return sysJobService.startJob(form);
|
}
|
|
@PostMapping("/")
|
@PreAuthorize("hasAuthority('job:add')")
|
@ApiOperation(value = "添加定时任务", notes = "添加定时任务")
|
public Result addSysJob(@RequestBody @Validated(Add.class) SysJobForm form) {
|
return sysJobService.addSysJob(form);
|
}
|
|
@PutMapping("/")
|
@PreAuthorize("hasAuthority('job:edit')")
|
@ApiOperation(value = "修改定时任务", notes = "修改定时任务")
|
public Result editSysJob(@RequestBody @Validated(Update.class) SysJobForm form) {
|
return sysJobService.editSysJob(form);
|
}
|
|
@DeleteMapping("/{id}")
|
@PreAuthorize("hasAuthority('job:del')")
|
@ApiOperation(value = "删除定时任务", notes = "删除定时任务")
|
public Result deleteSysJob(@PathVariable("id") String id) {
|
return sysJobService.deleteSysJobById(id);
|
}
|
|
@DeleteMapping("/batch")
|
@PreAuthorize("hasAuthority('job:del:batch')")
|
@ApiOperation(value = "批量删除定时任务", notes = "批量删除定时任务")
|
public Result deleteSysJobByIds(@RequestBody List<String> ids) {
|
return sysJobService.deleteSysJobByIds(ids);
|
}
|
|
@GetMapping("/page")
|
@PreAuthorize("hasAuthority('job:page')")
|
@ApiOperation(value = "定时任务分页", notes = "定时任务分页")
|
public Result getSysJobPage(SysJobQuery query) {
|
return sysJobService.getSysJobByPage(query);
|
}
|
|
@GetMapping("/{id}")
|
@PreAuthorize("hasAuthority('job:detail')")
|
@ApiOperation(value = "id查找", notes = "id查找")
|
public Result getSysJobPage(@PathVariable("id") String id) {
|
return sysJobService.getSysJobById(id);
|
}
|
}
|