renkang
2024-11-28 410227e469df13201cfe7b6d9c254b02fba5e11b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.doumee.api.timer;
 
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.timer.entity.QuartzJob;
import com.doumee.service.timer.QuartzJobService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
/**
 * @author 江蹄蹄
 * @since 2024/04/28 16:06
 */
@Api(tags = "作业调度平台接口交互记录")
@RestController
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/quartz")
public class QuartzCloudController extends BaseController {
 
    @Autowired
    private QuartzJobService quartzJobService;
 
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @CloudRequiredPermission("business:quartz:create")
    public ApiResponse  create(@RequestBody QuartzJob quartzJob ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
          quartzJob.setState(Constants.ONE);
          quartzJobService.insert(quartzJob) ;
          return ApiResponse.success(null);
    }
 
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @CloudRequiredPermission("business:quartz:update")
    public ApiResponse updateById(@RequestBody QuartzJob quartzJob,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        quartzJobService.update(quartzJob);
        return ApiResponse.success(null);
    }
 
    @ApiOperation( "停止任务")
    @GetMapping("/pause/{id}")
    @CloudRequiredPermission("business:quartz:update")
    public ApiResponse pause(@PathVariable("id") Integer id) {
        quartzJobService.pause(id); return ApiResponse.success(null);
    }
 
    @ApiOperation( "恢复任务")
    @GetMapping("/resume/{id}")
    @CloudRequiredPermission("business:quartz:update")
    public ApiResponse resume(@PathVariable("id") Integer id) {
        quartzJobService.resume(id) ; return ApiResponse.success(null);
    }
 
    @ApiOperation( "执行一次")
    @GetMapping("/runOnce/{id}")
    @CloudRequiredPermission("business:quartz:update")
    public ApiResponse runOnce(@PathVariable("id") Integer id) {
        quartzJobService.runOnce(id) ; return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @CloudRequiredPermission("business:quartz:query")
    public ApiResponse<PageData<QuartzJob>> findPage (@RequestBody PageWrap<QuartzJob> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(quartzJobService.findPage(pageWrap));
    }
 
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @CloudRequiredPermission("business:quartz:query")
    public ApiResponse<QuartzJob> findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success( quartzJobService.getById(id));
    }
}