diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml index 229426ab9..6f0b7cd38 100644 --- a/ruoyi-quartz/pom.xml +++ b/ruoyi-quartz/pom.xml @@ -1,41 +1,51 @@ - - - - ruoyi - com.ruoyi - 3.0 - - 4.0.0 - - ruoyi-quartz - - - quartz定时任务 - - - - - - - org.quartz-scheduler - quartz - - - com.mchange - c3p0 - - - - - - - com.ruoyi - ruoyi-common - ${ruoyi.version} - - - - + + + + ruoyi + com.ruoyi + 3.0 + + 4.0.0 + + ruoyi-quartz + + + quartz定时任务 + + + + + + + org.quartz-scheduler + quartz + + + com.mchange + c3p0 + + + + + + + com.ruoyi + ruoyi-common + ${ruoyi.version} + + + org.springframework.boot + spring-boot-starter-web + + + com.ruoyi + ruoyi-framework + 3.0 + compile + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysJobController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java similarity index 89% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysJobController.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java index 29d5baafe..971d68495 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysJobController.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java @@ -1,162 +1,159 @@ -package com.ruoyi.web.controller.monitor; - -import java.util.List; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.base.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.ExcelUtil; -import com.ruoyi.framework.util.ShiroUtils; -import com.ruoyi.framework.web.page.TableDataInfo; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.service.ISysJobService; -import com.ruoyi.framework.web.base.BaseController; - -/** - * 调度任务信息操作处理 - * - * @author ruoyi - */ -@Controller -@RequestMapping("/monitor/job") -public class SysJobController extends BaseController -{ - private String prefix = "monitor/job"; - - @Autowired - private ISysJobService jobService; - - @RequiresPermissions("monitor:job:view") - @GetMapping() - public String job() - { - return prefix + "/job"; - } - - @RequiresPermissions("monitor:job:list") - @PostMapping("/list") - @ResponseBody - public TableDataInfo list(SysJob job) - { - startPage(); - List list = jobService.selectJobList(job); - return getDataTable(list); - } - - @Log(title = "定时任务", businessType = BusinessType.EXPORT) - @RequiresPermissions("monitor:job:export") - @PostMapping("/export") - @ResponseBody - public AjaxResult export(SysJob job) - { - List list = jobService.selectJobList(job); - ExcelUtil util = new ExcelUtil(SysJob.class); - return util.exportExcel(list, "job"); - } - - @Log(title = "定时任务", businessType = BusinessType.DELETE) - @RequiresPermissions("monitor:job:remove") - @PostMapping("/remove") - @ResponseBody - public AjaxResult remove(String ids) - { - try - { - jobService.deleteJobByIds(ids); - return success(); - } - catch (Exception e) - { - e.printStackTrace(); - return error(e.getMessage()); - } - } - - /** - * 任务调度状态修改 - */ - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @RequiresPermissions("monitor:job:changeStatus") - @PostMapping("/changeStatus") - @ResponseBody - public AjaxResult changeStatus(SysJob job) - { - job.setUpdateBy(ShiroUtils.getLoginName()); - return toAjax(jobService.changeStatus(job)); - } - - /** - * 任务调度立即执行一次 - */ - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @RequiresPermissions("monitor:job:changeStatus") - @PostMapping("/run") - @ResponseBody - public AjaxResult run(SysJob job) - { - return toAjax(jobService.run(job)); - } - - /** - * 新增调度 - */ - @GetMapping("/add") - public String add() - { - return prefix + "/add"; - } - - /** - * 新增保存调度 - */ - @Log(title = "定时任务", businessType = BusinessType.INSERT) - @RequiresPermissions("monitor:job:add") - @PostMapping("/add") - @ResponseBody - public AjaxResult addSave(SysJob job) - { - job.setCreateBy(ShiroUtils.getLoginName()); - return toAjax(jobService.insertJobCron(job)); - } - - /** - * 修改调度 - */ - @GetMapping("/edit/{jobId}") - public String edit(@PathVariable("jobId") Long jobId, ModelMap mmap) - { - mmap.put("job", jobService.selectJobById(jobId)); - return prefix + "/edit"; - } - - /** - * 修改保存调度 - */ - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @RequiresPermissions("monitor:job:edit") - @PostMapping("/edit") - @ResponseBody - public AjaxResult editSave(SysJob job) - { - job.setUpdateBy(ShiroUtils.getLoginName()); - return toAjax(jobService.updateJobCron(job)); - } - - /** - * 校验cron表达式是否有效 - */ - @PostMapping("/checkCronExpressionIsValid") - @ResponseBody - public boolean checkCronExpressionIsValid(SysJob job) - { - return jobService.checkCronExpressionIsValid(job.getCronExpression()); - } -} +package com.ruoyi.quartz.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.ExcelUtil; +import com.ruoyi.framework.util.ShiroUtils; +import com.ruoyi.framework.web.base.BaseController; +import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.quartz.domain.SysJob; +import com.ruoyi.quartz.service.ISysJobService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 调度任务信息操作处理 + * + * @author ruoyi + */ +@Controller +@RequestMapping("/monitor/job") +public class SysJobController extends BaseController +{ + private String prefix = "monitor/job"; + + @Autowired + private ISysJobService jobService; + + @RequiresPermissions("monitor:job:view") + @GetMapping() + public String job() + { + return prefix + "/job"; + } + + @RequiresPermissions("monitor:job:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(SysJob job) + { + startPage(); + List list = jobService.selectJobList(job); + return getDataTable(list); + } + + @Log(title = "定时任务", businessType = BusinessType.EXPORT) + @RequiresPermissions("monitor:job:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(SysJob job) + { + List list = jobService.selectJobList(job); + ExcelUtil util = new ExcelUtil(SysJob.class); + return util.exportExcel(list, "job"); + } + + @Log(title = "定时任务", businessType = BusinessType.DELETE) + @RequiresPermissions("monitor:job:remove") + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + try + { + jobService.deleteJobByIds(ids); + return success(); + } + catch (Exception e) + { + e.printStackTrace(); + return error(e.getMessage()); + } + } + + /** + * 任务调度状态修改 + */ + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @RequiresPermissions("monitor:job:changeStatus") + @PostMapping("/changeStatus") + @ResponseBody + public AjaxResult changeStatus(SysJob job) + { + job.setUpdateBy(ShiroUtils.getLoginName()); + return toAjax(jobService.changeStatus(job)); + } + + /** + * 任务调度立即执行一次 + */ + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @RequiresPermissions("monitor:job:changeStatus") + @PostMapping("/run") + @ResponseBody + public AjaxResult run(SysJob job) + { + return toAjax(jobService.run(job)); + } + + /** + * 新增调度 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存调度 + */ + @Log(title = "定时任务", businessType = BusinessType.INSERT) + @RequiresPermissions("monitor:job:add") + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(SysJob job) + { + job.setCreateBy(ShiroUtils.getLoginName()); + return toAjax(jobService.insertJobCron(job)); + } + + /** + * 修改调度 + */ + @GetMapping("/edit/{jobId}") + public String edit(@PathVariable("jobId") Long jobId, ModelMap mmap) + { + mmap.put("job", jobService.selectJobById(jobId)); + return prefix + "/edit"; + } + + /** + * 修改保存调度 + */ + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @RequiresPermissions("monitor:job:edit") + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(SysJob job) + { + job.setUpdateBy(ShiroUtils.getLoginName()); + return toAjax(jobService.updateJobCron(job)); + } + + /** + * 校验cron表达式是否有效 + */ + @PostMapping("/checkCronExpressionIsValid") + @ResponseBody + public boolean checkCronExpressionIsValid(SysJob job) + { + return jobService.checkCronExpressionIsValid(job.getCronExpression()); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysJobLogController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java similarity index 95% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysJobLogController.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java index a8669985a..32f7c026f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysJobLogController.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java @@ -1,80 +1,80 @@ -package com.ruoyi.web.controller.monitor; - -import java.util.List; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.base.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.ExcelUtil; -import com.ruoyi.framework.web.page.TableDataInfo; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.service.ISysJobLogService; -import com.ruoyi.framework.web.base.BaseController; - -/** - * 调度日志操作处理 - * - * @author ruoyi - */ -@Controller -@RequestMapping("/monitor/jobLog") -public class SysJobLogController extends BaseController -{ - private String prefix = "monitor/job"; - - @Autowired - private ISysJobLogService jobLogService; - - @RequiresPermissions("monitor:job:view") - @GetMapping() - public String jobLog() - { - return prefix + "/jobLog"; - } - - @RequiresPermissions("monitor:job:list") - @PostMapping("/list") - @ResponseBody - public TableDataInfo list(SysJobLog jobLog) - { - startPage(); - List list = jobLogService.selectJobLogList(jobLog); - return getDataTable(list); - } - - @Log(title = "调度日志", businessType = BusinessType.EXPORT) - @RequiresPermissions("monitor:job:export") - @PostMapping("/export") - @ResponseBody - public AjaxResult export(SysJobLog jobLog) - { - List list = jobLogService.selectJobLogList(jobLog); - ExcelUtil util = new ExcelUtil(SysJobLog.class); - return util.exportExcel(list, "jobLog"); - } - - @Log(title = "调度日志", businessType = BusinessType.DELETE) - @RequiresPermissions("monitor:job:remove") - @PostMapping("/remove") - @ResponseBody - public AjaxResult remove(String ids) - { - return toAjax(jobLogService.deleteJobLogByIds(ids)); - } - - @Log(title = "调度日志", businessType = BusinessType.CLEAN) - @RequiresPermissions("monitor:job:remove") - @PostMapping("/clean") - @ResponseBody - public AjaxResult clean() - { - jobLogService.cleanJobLog(); - return success(); - } -} +package com.ruoyi.quartz.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.ExcelUtil; +import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.quartz.domain.SysJobLog; +import com.ruoyi.quartz.service.ISysJobLogService; +import com.ruoyi.framework.web.base.BaseController; + +/** + * 调度日志操作处理 + * + * @author ruoyi + */ +@Controller +@RequestMapping("/monitor/jobLog") +public class SysJobLogController extends BaseController +{ + private String prefix = "monitor/job"; + + @Autowired + private ISysJobLogService jobLogService; + + @RequiresPermissions("monitor:job:view") + @GetMapping() + public String jobLog() + { + return prefix + "/jobLog"; + } + + @RequiresPermissions("monitor:job:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(SysJobLog jobLog) + { + startPage(); + List list = jobLogService.selectJobLogList(jobLog); + return getDataTable(list); + } + + @Log(title = "调度日志", businessType = BusinessType.EXPORT) + @RequiresPermissions("monitor:job:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(SysJobLog jobLog) + { + List list = jobLogService.selectJobLogList(jobLog); + ExcelUtil util = new ExcelUtil(SysJobLog.class); + return util.exportExcel(list, "jobLog"); + } + + @Log(title = "调度日志", businessType = BusinessType.DELETE) + @RequiresPermissions("monitor:job:remove") + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(jobLogService.deleteJobLogByIds(ids)); + } + + @Log(title = "调度日志", businessType = BusinessType.CLEAN) + @RequiresPermissions("monitor:job:remove") + @PostMapping("/clean") + @ResponseBody + public AjaxResult clean() + { + jobLogService.cleanJobLog(); + return success(); + } +}