package com.ichaoj.ams.controller; import cn.hutool.extra.spring.SpringUtil; import com.ichaoj.ams.request.execute.CreateExecute; import com.ichaoj.ams.request.execute.PageExecuteRequest; import com.ichaoj.ams.request.execute.UpdateExecute; import com.ichaoj.ams.response.execute.ExecuteResponse; import com.ichaoj.ams.service.IAmsExecuteRecordService; import com.ichaoj.ams.task.NotifyTask; import com.ichaoj.common.annotation.AuthResource; import com.ichaoj.common.model.PublicPage; import com.ichaoj.common.model.PublicResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * @author : cjwen * @date : 2023/05/10 10:21 */ @RestController @RequestMapping("/execute") @Tag(name = "执行模块") public class ExecuteController { @Resource private IAmsExecuteRecordService executeService; @PostMapping @Operation(summary = "执行任务") @AuthResource public PublicResult createExecute(@RequestBody CreateExecute createExecute) { executeService.createExecute(createExecute); return PublicResult.success(); } @PutMapping @Operation(summary = "修改执行") @AuthResource(true) public PublicResult updateExecute(@RequestBody @Validated UpdateExecute updateExecute) { executeService.updateExecute(updateExecute); return PublicResult.success(); } @DeleteMapping("/{executeId}") @Operation(summary = "删除执行") @AuthResource(true) public PublicResult deleteExecute(@PathVariable String executeId) { executeService.removeById(executeId); return PublicResult.success(); } @PostMapping("/page") @Operation(summary = "分页查询执行") @AuthResource public PublicResult> pageExecute(@RequestBody PageExecuteRequest executeRequest) { PublicPage result = executeService.pageExecute(executeRequest); return PublicResult.success(result); } @GetMapping("/exec-task") @Operation(summary = "分页查询执行") // @AuthResource public PublicResult executeTask() { NotifyTask task = SpringUtil.getBean(NotifyTask.class); task.statisticsWeeklyReport(); task.statisticsMonthlyReport(); return PublicResult.success(); } }