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)); 
 | 
    } 
 | 
} 
 |