MrShi
2025-03-12 69a1b3bf45738f048361ee4ccb6bdc64fce35720
server/system_timer/src/main/java/com/doumee/api/timer/QuartzCloudController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,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.service.business.third.model.ApiResponse;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.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));
    }
}