From 1f578f7be237e8ef45687dda2c841e727df4fd50 Mon Sep 17 00:00:00 2001 From: TwelveT <2471835953@qq.com> Date: Fri, 1 Jul 2022 10:32:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=86=E5=B8=83=E5=BC=8F?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/controller/SysJobController.java | 271 +++++++++--------- 1 file changed, 139 insertions(+), 132 deletions(-) diff --git a/twelvet-server/twelvet-server-job/src/main/java/com/twelvet/server/job/controller/SysJobController.java b/twelvet-server/twelvet-server-job/src/main/java/com/twelvet/server/job/controller/SysJobController.java index eeeb9707..ba69908e 100644 --- a/twelvet-server/twelvet-server-job/src/main/java/com/twelvet/server/job/controller/SysJobController.java +++ b/twelvet-server/twelvet-server-job/src/main/java/com/twelvet/server/job/controller/SysJobController.java @@ -31,145 +31,152 @@ import java.util.List; @RequestMapping("/cron") public class SysJobController extends TWTController { - @Autowired - private ISysJobService jobService; + @Autowired + private ISysJobService jobService; - /** - * 查询定时任务列表 - * @param sysJob SysJob - * @return AjaxResult - */ - @GetMapping("/pageQuery") - @PreAuthorize("@role.hasPermi('monitor:job:list')") - public AjaxResult pageQuery(SysJob sysJob) { - PageUtils.startPage(); - List list = jobService.selectJobList(sysJob); - return AjaxResult.success(PageUtils.getDataTable(list)); - } + /** + * 查询定时任务列表 + * + * @param sysJob SysJob + * @return AjaxResult + */ + @GetMapping("/pageQuery") + @PreAuthorize("@role.hasPermi('monitor:job:list')") + public AjaxResult pageQuery(SysJob sysJob) { + PageUtils.startPage(); + List list = jobService.selectJobList(sysJob); + return AjaxResult.success(PageUtils.getDataTable(list)); + } - /** - * 导出定时任务列表 - * @param response HttpServletResponse - * @param sysJob SysJob - */ - @Log(service = "定时任务", businessType = BusinessType.EXPORT) - @PostMapping("/export") - @PreAuthorize("@role.hasPermi('monitor:job:export')") - public void export(HttpServletResponse response, @RequestBody SysJob sysJob) { - List list = jobService.selectJobList(sysJob); - ExcelUtils excelUtils = new ExcelUtils<>(SysJob.class); - excelUtils.exportExcel(response, list, "定时任务"); - } + /** + * 导出定时任务列表 + * + * @param response HttpServletResponse + * @param sysJob SysJob + */ + @Log(service = "定时任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @PreAuthorize("@role.hasPermi('monitor:job:export')") + public void export(HttpServletResponse response, @RequestBody SysJob sysJob) { + List list = jobService.selectJobList(sysJob); + ExcelUtils excelUtils = new ExcelUtils<>(SysJob.class); + excelUtils.exportExcel(response, list, "定时任务"); + } - /** - * 获取定时任务详细信息 - * @param jobId 定时任务ID - * @return AjaxResult - */ - @GetMapping(value = "/{jobId}") - @PreAuthorize("@role.hasPermi('monitor:job:query')") - public AjaxResult getByJobId(@PathVariable("jobId") Long jobId) { - return AjaxResult.success(jobService.selectJobById(jobId)); - } + /** + * 获取定时任务详细信息 + * + * @param jobId 定时任务ID + * @return AjaxResult + */ + @GetMapping(value = "/{jobId}") + @PreAuthorize("@role.hasPermi('monitor:job:query')") + public AjaxResult getByJobId(@PathVariable("jobId") Long jobId) { + return AjaxResult.success(jobService.selectJobById(jobId)); + } - /** - * 新增定时任务 - * @param sysJob SysJob - * @return AjaxResult - * @throws SchedulerException 表达式异常 - * @throws TaskException 任务异常 - */ - @Log(service = "定时任务", businessType = BusinessType.INSERT) - @PostMapping - @PreAuthorize("@role.hasPermi('monitor:job:insert')") - public AjaxResult insert(@RequestBody SysJob sysJob) throws SchedulerException, TaskException { - if (!CronUtils.isValid(sysJob.getCronExpression())) - { - return error("新增任务'" + sysJob.getJobName() + "'失败,Cron表达式不正确"); - } - else if (StringUtils.containsIgnoreCase(sysJob.getInvokeTarget(), Constants.LOOKUP_RMI)) - { - return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'rmi'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS })) - { - return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) - { - return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); - } - else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), Constants.JOB_ERROR_STR)) - { - return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串存在违规"); - } - else if (!ScheduleUtils.whiteList(sysJob.getInvokeTarget())) - { - return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不在白名单内"); - } - sysJob.setCreateBy(SecurityUtils.getUsername()); - sysJob.setCreateBy(SecurityUtils.getUsername()); - return json(jobService.insertJob(sysJob)); - } + /** + * 新增定时任务 + * + * @param sysJob SysJob + * @return AjaxResult + * @throws SchedulerException 表达式异常 + * @throws TaskException 任务异常 + */ + @Log(service = "定时任务", businessType = BusinessType.INSERT) + @PostMapping + @PreAuthorize("@role.hasPermi('monitor:job:insert')") + public AjaxResult insert(@RequestBody SysJob sysJob) throws SchedulerException, TaskException { + if (!CronUtils.isValid(sysJob.getCronExpression())) { + return error("新增任务'" + sysJob.getJobName() + "'失败,Cron表达式不正确"); + } else if (StringUtils.containsIgnoreCase(sysJob.getInvokeTarget(), Constants.LOOKUP_RMI)) { + return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'rmi'调用"); + } else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), new String[]{Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS})) { + return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); + } else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), new String[]{Constants.HTTP, Constants.HTTPS})) { + return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); + } else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), Constants.JOB_ERROR_STR)) { + return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串存在违规"); + } else if (!ScheduleUtils.whiteList(sysJob.getInvokeTarget())) { + return error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不在白名单内"); + } + sysJob.setCreateBy(SecurityUtils.getUsername()); + sysJob.setCreateBy(SecurityUtils.getUsername()); + return json(jobService.insertJob(sysJob)); + } - /** - * 修改定时任务 - * @param sysJob SysJob - * @return AjaxResult - * @throws SchedulerException 表达式异常 - * @throws TaskException 任务异常 - */ - @Log(service = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping - @PreAuthorize("@role.hasPermi('monitor:job:update')") - public AjaxResult update(@RequestBody SysJob sysJob) throws SchedulerException, TaskException { - if (!CronUtils.isValid(sysJob.getCronExpression())) { - return AjaxResult.error("cron表达式不正确"); - } - sysJob.setUpdateBy(SecurityUtils.getUsername()); - return json(jobService.updateJob(sysJob)); - } + /** + * 修改定时任务 + * + * @param sysJob SysJob + * @return AjaxResult + * @throws SchedulerException 表达式异常 + * @throws TaskException 任务异常 + */ + @Log(service = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping + @PreAuthorize("@role.hasPermi('monitor:job:update')") + public AjaxResult update(@RequestBody SysJob sysJob) throws SchedulerException, TaskException { + if (!CronUtils.isValid(sysJob.getCronExpression())) { + return error("修改任务'" + sysJob.getJobName() + "'失败,Cron表达式不正确"); + } else if (StringUtils.containsIgnoreCase(sysJob.getInvokeTarget(), Constants.LOOKUP_RMI)) { + return error("修改任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'rmi'调用"); + } else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), new String[]{Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS})) { + return error("修改任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); + } else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), new String[]{Constants.HTTP, Constants.HTTPS})) { + return error("修改任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); + } else if (StringUtils.containsAnyIgnoreCase(sysJob.getInvokeTarget(), Constants.JOB_ERROR_STR)) { + return error("修改任务'" + sysJob.getJobName() + "'失败,目标字符串存在违规"); + } else if (!ScheduleUtils.whiteList(sysJob.getInvokeTarget())) { + return error("修改任务'" + sysJob.getJobName() + "'失败,目标字符串不在白名单内"); + } + sysJob.setUpdateBy(SecurityUtils.getUsername()); + return json(jobService.updateJob(sysJob)); + } - /** - * 定时任务状态修改 - * @param job SysJob - * @return AjaxResult - * @throws SchedulerException 表达式异常 - */ - @Log(service = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping("/changeStatus") - @PreAuthorize("@role.hasPermi('monitor:job:update')") - public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException { - SysJob newJob = jobService.selectJobById(job.getJobId()); - newJob.setStatus(job.getStatus()); - return json(jobService.changeStatus(newJob)); - } + /** + * 定时任务状态修改 + * + * @param job SysJob + * @return AjaxResult + * @throws SchedulerException 表达式异常 + */ + @Log(service = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + @PreAuthorize("@role.hasPermi('monitor:job:update')") + public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException { + SysJob newJob = jobService.selectJobById(job.getJobId()); + newJob.setStatus(job.getStatus()); + return json(jobService.changeStatus(newJob)); + } - /** - * 定时任务立即执行一次 - * @param job SysJob - * @return AjaxResult - * @throws SchedulerException 表达式异常 - */ - @Log(service = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping("/run") - public AjaxResult run(@RequestBody SysJob job) throws SchedulerException { - jobService.run(job); - return AjaxResult.success(); - } + /** + * 定时任务立即执行一次 + * + * @param job SysJob + * @return AjaxResult + * @throws SchedulerException 表达式异常 + */ + @Log(service = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping("/run") + public AjaxResult run(@RequestBody SysJob job) throws SchedulerException { + jobService.run(job); + return AjaxResult.success(); + } - /** - * 删除定时任务 - * @param jobIds 定时任务id数组 - * @return AjaxResult - * @throws SchedulerException 表达式异常 - */ - @Log(service = "定时任务", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobIds}") - @PreAuthorize("@role.hasPermi('monitor:job:remove')") - public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException { - jobService.deleteJobByIds(jobIds); - return AjaxResult.success(); - } + /** + * 删除定时任务 + * + * @param jobIds 定时任务id数组 + * @return AjaxResult + * @throws SchedulerException 表达式异常 + */ + @Log(service = "定时任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{jobIds}") + @PreAuthorize("@role.hasPermi('monitor:job:remove')") + public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException { + jobService.deleteJobByIds(jobIds); + return AjaxResult.success(); + } } -- GitLab