浏览代码

任务日志优化

yq 3 年之前
父节点
当前提交
9945b0d7d8

+ 5 - 0
src/main/java/com/usky/dxtop/quartz/domain/SysJobLog.java

@@ -1,6 +1,8 @@
 package com.usky.dxtop.quartz.domain;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.usky.dxtop.common.core.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -17,6 +19,7 @@ public class SysJobLog extends BaseEntity
     private static final long serialVersionUID = 1L;
 
     /** ID */
+    @TableId
     private Long jobLogId;
 
     /** 任务名称 */
@@ -38,9 +41,11 @@ public class SysJobLog extends BaseEntity
     private String exceptionInfo;
 
     /** 开始时间 */
+    @TableField(exist = false)
     private Date startTime;
 
     /** 停止时间 */
+    @TableField(exist = false)
     private Date stopTime;
 
     public Long getJobLogId()

+ 2 - 1
src/main/java/com/usky/dxtop/quartz/mapper/SysJobLogMapper.java

@@ -1,6 +1,7 @@
 package com.usky.dxtop.quartz.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.usky.dxtop.quartz.domain.SysJobLog;
 import org.springframework.stereotype.Repository;
 
@@ -12,7 +13,7 @@ import java.util.List;
  * @author yq
  */
 @Repository
-public interface SysJobLogMapper
+public interface SysJobLogMapper extends BaseMapper<SysJobLog>
 {
     /**
      * 获取quartz调度器日志的计划任务

+ 8 - 1
src/main/java/com/usky/dxtop/quartz/service/ISysJobLogService.java

@@ -1,6 +1,7 @@
 package com.usky.dxtop.quartz.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.usky.dxtop.quartz.domain.SysJobLog;
 
 import java.util.List;
@@ -10,7 +11,7 @@ import java.util.List;
  * 
  * @author yq
  */
-public interface ISysJobLogService
+public interface ISysJobLogService extends IService<SysJobLog>
 {
     /**
      * 获取quartz调度器日志的计划任务
@@ -35,6 +36,12 @@ public interface ISysJobLogService
      */
     public void addJobLog(SysJobLog jobLog);
 
+    /**
+     * 新增获取修改日志
+      * @param sysJobLog
+     */
+    public void addOrUpdate(SysJobLog sysJobLog);
+
     /**
      * 批量删除调度日志信息
      * 

+ 13 - 1
src/main/java/com/usky/dxtop/quartz/service/impl/SysJobLogServiceImpl.java

@@ -1,6 +1,10 @@
 package com.usky.dxtop.quartz.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import com.usky.dxtop.quartz.domain.SysJobLog;
 import com.usky.dxtop.quartz.mapper.SysJobLogMapper;
 import com.usky.dxtop.quartz.service.ISysJobLogService;
@@ -15,7 +19,7 @@ import java.util.List;
  * @author yq
  */
 @Service
-public class SysJobLogServiceImpl implements ISysJobLogService
+public class SysJobLogServiceImpl extends ServiceImpl<SysJobLogMapper, SysJobLog> implements ISysJobLogService
 {
     @Autowired
     private SysJobLogMapper jobLogMapper;
@@ -55,6 +59,14 @@ public class SysJobLogServiceImpl implements ISysJobLogService
         jobLogMapper.insertJobLog(jobLog);
     }
 
+    @Override
+    public void addOrUpdate(SysJobLog sysJobLog) {
+        LambdaQueryWrapper<SysJobLog> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(SysJobLog::getJobName,sysJobLog.getJobName())
+                .eq(SysJobLog::getJobGroup,sysJobLog.getJobGroup());
+        this.saveOrUpdate(sysJobLog,queryWrapper);
+    }
+
     /**
      * 批量删除调度日志信息
      * 

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

@@ -95,7 +95,8 @@ public abstract class AbstractQuartzJob implements Job
         }
 
         // 写入数据库当中
-        SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog);
+        sysJobLog.setCreateTime(new Date());
+        SpringUtils.getBean(ISysJobLogService.class).addOrUpdate(sysJobLog);
     }
 
     /**