فهرست منبع

修改定时任务问题

zhifei 1 سال پیش
والد
کامیت
8a50ba4768

+ 4 - 4
warewms-common/src/main/java/com/warewms/common/constant/Constants.java

@@ -4,7 +4,7 @@ import io.jsonwebtoken.Claims;
 
 /**
  * 通用常量信息
- * 
+ *
  * @author ruoyi
  */
 public class Constants
@@ -63,7 +63,7 @@ public class Constants
      * 登录失败
      */
     public static final String LOGIN_FAIL = "Error";
- 
+
     /**
      * 验证码有效期(分钟)
      */
@@ -132,13 +132,13 @@ public class Constants
     /**
      * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
      */
-    public static final String[] JOB_WHITELIST_STR = { "com.ruoyi" };
+    public static final String[] JOB_WHITELIST_STR = { "com.warewms" };
 
     /**
      * 定时任务违规的字符
      */
     public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
-            "org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config" };
+            "org.springframework", "org.apache", "com.warewms.common.utils.file", "com.warewms.common.config" };
 
 
 

+ 11 - 10
warewms-quartz/src/main/java/com/warewms/quartz/controller/SysJobController.java

@@ -2,6 +2,9 @@ package com.warewms.quartz.controller;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import org.quartz.SchedulerException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -28,7 +31,7 @@ import com.warewms.quartz.util.ScheduleUtils;
 
 /**
  * 调度任务信息操作处理
- * 
+ *
  * @author ruoyi
  */
 @RestController
@@ -41,14 +44,12 @@ public class SysJobController extends BaseController
     /**
      * 查询定时任务列表
      */
-    /*@PreAuthorize("@ss.hasPermi('monitor:job:list')")
+    @PreAuthorize("@ss.hasPermi('monitor:job:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SysJob sysJob)
+    public TableDataInfo list(SysJob sysJob, PageDomain pageDomain)
     {
-        startPage();
-        List<SysJob> list = jobService.selectJobList(sysJob);
-        return getDataTable(list);
-    }*/
+        return jobService.selectJobList(sysJob,pageDomain);
+    }
 
     /**
      * 导出定时任务列表
@@ -56,11 +57,11 @@ public class SysJobController extends BaseController
     @PreAuthorize("@ss.hasPermi('monitor:job:export')")
     @Log(title = "定时任务", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysJob sysJob)
+    public void export(HttpServletResponse response, SysJob sysJob, PageDomain pageDomain)
     {
-        List<SysJob> list = jobService.selectJobList(sysJob);
+        TableDataInfo<SysJob> sysJobTableDataInfo = jobService.selectJobList(sysJob, pageDomain);
         ExcelUtil<SysJob> util = new ExcelUtil<SysJob>(SysJob.class);
-        util.exportExcel(response, list, "定时任务");
+        util.exportExcel(response, sysJobTableDataInfo.getRows(), "定时任务");
     }
 
     /**

+ 12 - 11
warewms-quartz/src/main/java/com/warewms/quartz/controller/SysJobLogController.java

@@ -2,6 +2,9 @@ package com.warewms.quartz.controller;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -20,7 +23,7 @@ import com.warewms.quartz.task.service.ISysJobLogService;
 
 /**
  * 调度日志操作处理
- * 
+ *
  * @author ruoyi
  */
 @RestController
@@ -33,14 +36,12 @@ public class SysJobLogController extends BaseController
     /**
      * 查询定时任务调度日志列表
      */
-    /*@PreAuthorize("@ss.hasPermi('monitor:job:list')")
+    @PreAuthorize("@ss.hasPermi('monitor:job:list')")
     @GetMapping("/list")
-    public TableDataInfo list(SysJobLog sysJobLog)
+    public TableDataInfo<SysJobLog> list(SysJobLog sysJobLog, PageDomain pageDomain)
     {
-        startPage();
-        List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog);
-        return getDataTable(list);
-    }*/
+        return jobLogService.selectJobLogList(sysJobLog,pageDomain);
+    }
 
     /**
      * 导出定时任务调度日志列表
@@ -48,13 +49,13 @@ public class SysJobLogController extends BaseController
     @PreAuthorize("@ss.hasPermi('monitor:job:export')")
     @Log(title = "任务调度日志", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysJobLog sysJobLog)
+    public void export(HttpServletResponse response, SysJobLog sysJobLog, PageDomain pageDomain)
     {
-        List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog);
+        TableDataInfo<SysJobLog>  sysJobLogTableDataInfo= jobLogService.selectJobLogList(sysJobLog, pageDomain);
         ExcelUtil<SysJobLog> util = new ExcelUtil<SysJobLog>(SysJobLog.class);
-        util.exportExcel(response, list, "调度日志");
+        util.exportExcel(response, sysJobLogTableDataInfo.getRows(), "调度日志");
     }
-    
+
     /**
      * 根据调度编号获取详细信息
      */

+ 7 - 2
warewms-quartz/src/main/java/com/warewms/quartz/domain/SysJobLog.java

@@ -1,6 +1,9 @@
 package com.warewms.quartz.domain;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.warewms.common.annotation.Excel;
@@ -8,15 +11,17 @@ import com.warewms.common.core.domain.base.BaseEntity;
 
 /**
  * 定时任务调度日志表 sys_job_log
- * 
+ *
  * @author ruoyi
  */
+@TableName("sys_job_log")
 public class SysJobLog extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** ID */
     @Excel(name = "日志序号")
+    @TableId
     private Long jobLogId;
 
     /** 任务名称 */
@@ -128,7 +133,7 @@ public class SysJobLog extends BaseEntity
     {
         this.startTime = startTime;
     }
-    
+
     public Date getStopTime()
     {
         return stopTime;

+ 16 - 9
warewms-quartz/src/main/java/com/warewms/quartz/mapper/SysJobLogMapper.java

@@ -1,22 +1,29 @@
 package com.warewms.quartz.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.warewms.common.core.domain.base.page.PageDomain;
 import com.warewms.quartz.domain.SysJobLog;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 调度任务日志信息 数据层
- * 
+ *
  * @author ruoyi
  */
-public interface SysJobLogMapper
+public interface SysJobLogMapper extends BaseMapper<SysJobLog>
 {
     /**
      * 获取quartz调度器日志的计划任务
-     * 
-     * @param jobLog 调度日志信息
+     *
+     * @param jobLog     调度日志信息
+     * @param pageDomain
      * @return 调度任务日志集合
      */
-    public List<SysJobLog> selectJobLogList(SysJobLog jobLog);
+    public IPage<SysJobLog> selectJobLogList(@Param("jobLog") SysJobLog jobLog, @Param("page") Page<SysJobLog> page);
 
     /**
      * 查询所有调度任务日志
@@ -27,7 +34,7 @@ public interface SysJobLogMapper
 
     /**
      * 通过调度任务日志ID查询调度信息
-     * 
+     *
      * @param jobLogId 调度任务日志ID
      * @return 调度任务日志对象信息
      */
@@ -35,7 +42,7 @@ public interface SysJobLogMapper
 
     /**
      * 新增任务日志
-     * 
+     *
      * @param jobLog 调度日志信息
      * @return 结果
      */
@@ -43,7 +50,7 @@ public interface SysJobLogMapper
 
     /**
      * 批量删除调度日志信息
-     * 
+     *
      * @param logIds 需要删除的数据ID
      * @return 结果
      */
@@ -51,7 +58,7 @@ public interface SysJobLogMapper
 
     /**
      * 删除任务日志
-     * 
+     *
      * @param jobId 调度日志ID
      * @return 结果
      */

+ 9 - 9
warewms-quartz/src/main/java/com/warewms/quartz/mapper/SysJobMapper.java

@@ -7,14 +7,14 @@ import com.warewms.quartz.domain.SysJob;
 
 /**
  * 调度任务信息 数据层
- * 
+ *
  * @author ruoyi
  */
-public interface SysJobMapper
+public interface SysJobMapper extends BaseMapper<SysJob>
 {
     /**
      * 查询调度任务日志集合
-     * 
+     *
      * @param job 调度信息
      * @return 操作日志集合
      */
@@ -22,14 +22,14 @@ public interface SysJobMapper
 
     /**
      * 查询所有调度任务
-     * 
+     *
      * @return 调度任务列表
      */
     public List<SysJob> selectJobAll();
 
     /**
      * 通过调度ID查询调度任务信息
-     * 
+     *
      * @param jobId 调度ID
      * @return 角色对象信息
      */
@@ -37,7 +37,7 @@ public interface SysJobMapper
 
     /**
      * 通过调度ID删除调度任务信息
-     * 
+     *
      * @param jobId 调度ID
      * @return 结果
      */
@@ -45,7 +45,7 @@ public interface SysJobMapper
 
     /**
      * 批量删除调度任务信息
-     * 
+     *
      * @param ids 需要删除的数据ID
      * @return 结果
      */
@@ -53,7 +53,7 @@ public interface SysJobMapper
 
     /**
      * 修改调度任务信息
-     * 
+     *
      * @param job 调度任务信息
      * @return 结果
      */
@@ -61,7 +61,7 @@ public interface SysJobMapper
 
     /**
      * 新增调度任务信息
-     * 
+     *
      * @param job 调度任务信息
      * @return 结果
      */

+ 12 - 9
warewms-quartz/src/main/java/com/warewms/quartz/task/service/ISysJobLogService.java

@@ -1,26 +1,29 @@
 package com.warewms.quartz.task.service;
 
-import java.util.List;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import com.warewms.quartz.domain.SysJobLog;
 
 /**
  * 定时任务调度日志信息信息 服务层
- * 
+ *
  * @author ruoyi
  */
 public interface ISysJobLogService
 {
     /**
      * 获取quartz调度器日志的计划任务
-     * 
-     * @param jobLog 调度日志信息
+     *
+     * @param jobLog     调度日志信息
+     * @param pageDomain
      * @return 调度任务日志集合
      */
-    public List<SysJobLog> selectJobLogList(SysJobLog jobLog);
+    public TableDataInfo<SysJobLog> selectJobLogList(SysJobLog jobLog, PageDomain pageDomain);
 
     /**
      * 通过调度任务日志ID查询调度信息
-     * 
+     *
      * @param jobLogId 调度任务日志ID
      * @return 调度任务日志对象信息
      */
@@ -28,14 +31,14 @@ public interface ISysJobLogService
 
     /**
      * 新增任务日志
-     * 
+     *
      * @param jobLog 调度日志信息
      */
     public void addJobLog(SysJobLog jobLog);
 
     /**
      * 批量删除调度日志信息
-     * 
+     *
      * @param logIds 需要删除的日志ID
      * @return 结果
      */
@@ -43,7 +46,7 @@ public interface ISysJobLogService
 
     /**
      * 删除任务日志
-     * 
+     *
      * @param jobId 调度日志ID
      * @return 结果
      */

+ 18 - 14
warewms-quartz/src/main/java/com/warewms/quartz/task/service/ISysJobService.java

@@ -1,28 +1,32 @@
 package com.warewms.quartz.task.service;
 
 import java.util.List;
+
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
 import org.quartz.SchedulerException;
 import com.warewms.common.exception.job.TaskException;
 import com.warewms.quartz.domain.SysJob;
 
 /**
  * 定时任务调度信息信息 服务层
- * 
+ *
  * @author ruoyi
  */
 public interface ISysJobService
 {
     /**
      * 获取quartz调度器的计划任务
-     * 
-     * @param job 调度信息
+     *
+     * @param job        调度信息
+     * @param pageDomain
      * @return 调度任务集合
      */
-    public List<SysJob> selectJobList(SysJob job);
+    public TableDataInfo selectJobList(SysJob job, PageDomain pageDomain);
 
     /**
      * 通过调度任务ID查询调度信息
-     * 
+     *
      * @param jobId 调度任务ID
      * @return 调度任务对象信息
      */
@@ -30,7 +34,7 @@ public interface ISysJobService
 
     /**
      * 暂停任务
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -38,7 +42,7 @@ public interface ISysJobService
 
     /**
      * 恢复任务
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -46,7 +50,7 @@ public interface ISysJobService
 
     /**
      * 删除任务后,所对应的trigger也将被删除
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -54,7 +58,7 @@ public interface ISysJobService
 
     /**
      * 批量删除调度信息
-     * 
+     *
      * @param jobIds 需要删除的任务ID
      * @return 结果
      */
@@ -62,7 +66,7 @@ public interface ISysJobService
 
     /**
      * 任务调度状态修改
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -70,7 +74,7 @@ public interface ISysJobService
 
     /**
      * 立即运行任务
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -78,7 +82,7 @@ public interface ISysJobService
 
     /**
      * 新增任务
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -86,7 +90,7 @@ public interface ISysJobService
 
     /**
      * 更新任务
-     * 
+     *
      * @param job 调度信息
      * @return 结果
      */
@@ -94,7 +98,7 @@ public interface ISysJobService
 
     /**
      * 校验cron表达式是否有效
-     * 
+     *
      * @param cronExpression 表达式
      * @return 结果
      */

+ 22 - 24
warewms-quartz/src/main/java/com/warewms/quartz/task/service/impl/SysJobLogServiceImpl.java

@@ -1,79 +1,78 @@
 package com.warewms.quartz.task.service.impl;
 
-import java.util.List;
-
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
+import com.warewms.common.utils.StringUtils;
 import com.warewms.quartz.task.service.ISysJobLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.warewms.quartz.domain.SysJobLog;
 import com.warewms.quartz.mapper.SysJobLogMapper;
 
+import java.util.Map;
+
 /**
  * 定时任务调度日志信息 服务层
- * 
+ *
  * @author ruoyi
  */
 @Service
-public class SysJobLogServiceImpl implements ISysJobLogService
-{
+public class SysJobLogServiceImpl implements ISysJobLogService {
     @Autowired
     private SysJobLogMapper jobLogMapper;
 
     /**
      * 获取quartz调度器日志的计划任务
-     * 
-     * @param jobLog 调度日志信息
+     *
+     * @param jobLog     调度日志信息
+     * @param pageDomain
      * @return 调度任务日志集合
      */
     @Override
-    public List<SysJobLog> selectJobLogList(SysJobLog jobLog)
-    {
-        return jobLogMapper.selectJobLogList(jobLog);
+    public TableDataInfo<SysJobLog> selectJobLogList(SysJobLog jobLog, PageDomain pageDomain) {
+       return TableDataInfo.build( jobLogMapper.selectJobLogList(jobLog,pageDomain.build()));
     }
 
     /**
      * 通过调度任务日志ID查询调度信息
-     * 
+     *
      * @param jobLogId 调度任务日志ID
      * @return 调度任务日志对象信息
      */
     @Override
-    public SysJobLog selectJobLogById(Long jobLogId)
-    {
+    public SysJobLog selectJobLogById(Long jobLogId) {
         return jobLogMapper.selectJobLogById(jobLogId);
     }
 
     /**
      * 新增任务日志
-     * 
+     *
      * @param jobLog 调度日志信息
      */
     @Override
-    public void addJobLog(SysJobLog jobLog)
-    {
+    public void addJobLog(SysJobLog jobLog) {
         jobLogMapper.insertJobLog(jobLog);
     }
 
     /**
      * 批量删除调度日志信息
-     * 
+     *
      * @param logIds 需要删除的数据ID
      * @return 结果
      */
     @Override
-    public int deleteJobLogByIds(Long[] logIds)
-    {
+    public int deleteJobLogByIds(Long[] logIds) {
         return jobLogMapper.deleteJobLogByIds(logIds);
     }
 
     /**
      * 删除任务日志
-     * 
+     *
      * @param jobId 调度日志ID
      */
     @Override
-    public int deleteJobLogById(Long jobId)
-    {
+    public int deleteJobLogById(Long jobId) {
         return jobLogMapper.deleteJobLogById(jobId);
     }
 
@@ -81,8 +80,7 @@ public class SysJobLogServiceImpl implements ISysJobLogService
      * 清空任务日志
      */
     @Override
-    public void cleanJobLog()
-    {
+    public void cleanJobLog() {
         jobLogMapper.cleanJobLog();
     }
 }

+ 27 - 16
warewms-quartz/src/main/java/com/warewms/quartz/task/service/impl/SysJobServiceImpl.java

@@ -2,6 +2,12 @@ package com.warewms.quartz.task.service.impl;
 
 import java.util.List;
 import javax.annotation.PostConstruct;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.warewms.common.core.domain.base.page.PageDomain;
+import com.warewms.common.core.domain.base.page.TableDataInfo;
+import com.warewms.common.utils.StringUtils;
+import com.warewms.quartz.domain.SysJobLog;
 import org.quartz.JobDataMap;
 import org.quartz.JobKey;
 import org.quartz.Scheduler;
@@ -19,7 +25,7 @@ import com.warewms.quartz.util.ScheduleUtils;
 
 /**
  * 定时任务调度信息 服务层
- * 
+ *
  * @author ruoyi
  */
 @Service
@@ -47,19 +53,24 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 获取quartz调度器的计划任务列表
-     * 
-     * @param job 调度信息
+     *
+     * @param job        调度信息
+     * @param pageDomain
      * @return
      */
     @Override
-    public List<SysJob> selectJobList(SysJob job)
+    public TableDataInfo selectJobList(SysJob job, PageDomain pageDomain)
     {
-        return jobMapper.selectJobList(job);
+        return TableDataInfo.build( jobMapper.selectPage(pageDomain.build(),new LambdaQueryWrapper<SysJob>()
+                .eq(StringUtils.isNotEmpty(job.getJobName()), SysJob::getJobName, job.getJobName())
+                .eq(StringUtils.isNotEmpty(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup())
+                .eq(StringUtils.isNotEmpty(job.getStatus()), SysJob::getStatus, job.getStatus())
+        ));
     }
 
     /**
      * 通过调度任务ID查询调度信息
-     * 
+     *
      * @param jobId 调度任务ID
      * @return 调度任务对象信息
      */
@@ -71,7 +82,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 暂停任务
-     * 
+     *
      * @param job 调度信息
      */
     @Override
@@ -91,7 +102,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 恢复任务
-     * 
+     *
      * @param job 调度信息
      */
     @Override
@@ -111,7 +122,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 删除任务后,所对应的trigger也将被删除
-     * 
+     *
      * @param job 调度信息
      */
     @Override
@@ -130,7 +141,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 批量删除调度信息
-     * 
+     *
      * @param jobIds 需要删除的任务ID
      * @return 结果
      */
@@ -147,7 +158,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 任务调度状态修改
-     * 
+     *
      * @param job 调度信息
      */
     @Override
@@ -169,7 +180,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 立即运行任务
-     * 
+     *
      * @param job 调度信息
      */
     @Override
@@ -194,7 +205,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 新增任务
-     * 
+     *
      * @param job 调度信息 调度信息
      */
     @Override
@@ -212,7 +223,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 更新任务的时间表达式
-     * 
+     *
      * @param job 调度信息
      */
     @Override
@@ -230,7 +241,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 更新任务
-     * 
+     *
      * @param job 任务对象
      * @param jobGroup 任务组名
      */
@@ -249,7 +260,7 @@ public class SysJobServiceImpl implements ISysJobService
 
     /**
      * 校验cron表达式是否有效
-     * 
+     *
      * @param cronExpression 表达式
      * @return 结果
      */

+ 2 - 1
warewms-quartz/src/main/java/com/warewms/quartz/util/AbstractQuartzJob.java

@@ -91,7 +91,8 @@ public abstract class AbstractQuartzJob implements Job
         {
             sysJobLog.setStatus(Constants.SUCCESS);
         }
-
+        sysJobLog.setCreateBy("admin");
+        sysJobLog.setUpdateBy("admin");
         // 写入数据库当中
         SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog);
     }