package com.doumee.api.system; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemJobSnippetTriggerBiz; import com.doumee.biz.system.dto.TriggerJobDTO; import com.doumee.biz.system.dto.TriggerJobSnippetDTO; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.constants.Constants; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.core.utils.Utils; import com.doumee.dao.system.model.SystemJobSnippet; import com.doumee.service.system.SystemJobSnippetService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author dm * @since 2025/03/31 16:44 */ @Api(tags = "定时任务片段") @RestController @RequestMapping("/system/job/snippet") public class SystemJobSnippetController extends BaseController { @Autowired private SystemJobSnippetService systemJobSnippetService; @Autowired private SystemJobSnippetTriggerBiz systemJobSnippetTriggerBiz; @Trace @ApiOperation("手动触发") @PostMapping("/trigger") @RequiresPermissions("system:job:trigger") public ApiResponse triggerJob (@RequestBody TriggerJobSnippetDTO dto) { Utils.ThreadPool.start(() -> { dto.setTriggerType(Constants.Job.TriggerType.MANUAL.getCode()); systemJobSnippetTriggerBiz.trigger(dto); }); return ApiResponse.success(null); } @ApiOperation("根据ID删除") @GetMapping("/delete/{id}") @RequiresPermissions("system:job:snippet:delete") public ApiResponse deleteById(@PathVariable Integer id) { systemJobSnippetService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("system:job:snippet:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { systemJobSnippetService.deleteByIdInBatch(this.getIdList(ids)); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("system:job:snippet:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(systemJobSnippetService.findPage(pageWrap)); } }