mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-15 06:29:01 +08:00
refactor(xxl): 重构代码 mapper.xml 支持达梦数据库
This commit is contained in:
1 parent
075cda636a
commit
9dd236e068
7 files changed
+261
-278
No files matched your search
@@ -59,7 +59,7 @@
|
|||||||
<artifactId>spring-boot-starter-mail</artifactId>
|
<artifactId>spring-boot-starter-mail</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- mybatis-starter:mybatis + mybatis-spring + hikari(default) -->
|
<!-- mybatis-starter:mybatis + mybatis-spring + druid(default) -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.mybatis.spring.boot</groupId>
|
<groupId>org.mybatis.spring.boot</groupId>
|
||||||
<artifactId>mybatis-spring-boot-starter</artifactId>
|
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||||
@@ -76,6 +76,11 @@
|
|||||||
<artifactId>mysql-connector-j</artifactId>
|
<artifactId>mysql-connector-j</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.dameng</groupId>
|
||||||
|
<artifactId>DmJdbcDriver18</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- xxl-job-core -->
|
<!-- xxl-job-core -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xuxueli</groupId>
|
<groupId>com.xuxueli</groupId>
|
||||||
|
|||||||
+112
-125
@@ -2,13 +2,11 @@ package com.xxl.job.admin.core.thread;
|
|||||||
|
|
||||||
import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
|
import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
|
||||||
import com.xxl.job.admin.core.model.XxlJobLogReport;
|
import com.xxl.job.admin.core.model.XxlJobLogReport;
|
||||||
|
import lombok.Getter;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,155 +14,144 @@ import java.util.concurrent.TimeUnit;
|
|||||||
*
|
*
|
||||||
* @author xuxueli 2019-11-22
|
* @author xuxueli 2019-11-22
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class JobLogReportHelper {
|
public class JobLogReportHelper {
|
||||||
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class);
|
private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class);
|
||||||
|
|
||||||
private static JobLogReportHelper instance = new JobLogReportHelper();
|
@Getter
|
||||||
|
private static JobLogReportHelper instance = new JobLogReportHelper();
|
||||||
|
|
||||||
public static JobLogReportHelper getInstance() {
|
private Thread logrThread;
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Thread logrThread;
|
private volatile boolean toStop = false;
|
||||||
|
|
||||||
private volatile boolean toStop = false;
|
public void start() {
|
||||||
|
logrThread = new Thread(new Runnable() {
|
||||||
|
|
||||||
public void start() {
|
@Override
|
||||||
logrThread = new Thread(new Runnable() {
|
public void run() {
|
||||||
|
|
||||||
@Override
|
// last clean log time
|
||||||
public void run() {
|
long lastCleanLogTime = 0;
|
||||||
|
|
||||||
// last clean log time
|
while (!toStop) {
|
||||||
long lastCleanLogTime = 0;
|
|
||||||
|
|
||||||
while (!toStop) {
|
// 1、log-report refresh: refresh log report in 3 days
|
||||||
|
try {
|
||||||
|
|
||||||
// 1、log-report refresh: refresh log report in 3 days
|
for (int i = 0; i < 3; i++) {
|
||||||
try {
|
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
// today
|
||||||
|
Calendar itemDay = Calendar.getInstance();
|
||||||
|
itemDay.add(Calendar.DAY_OF_MONTH, -i);
|
||||||
|
itemDay.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
itemDay.set(Calendar.MINUTE, 0);
|
||||||
|
itemDay.set(Calendar.SECOND, 0);
|
||||||
|
itemDay.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
// today
|
Date todayFrom = itemDay.getTime();
|
||||||
Calendar itemDay = Calendar.getInstance();
|
|
||||||
itemDay.add(Calendar.DAY_OF_MONTH, -i);
|
|
||||||
itemDay.set(Calendar.HOUR_OF_DAY, 0);
|
|
||||||
itemDay.set(Calendar.MINUTE, 0);
|
|
||||||
itemDay.set(Calendar.SECOND, 0);
|
|
||||||
itemDay.set(Calendar.MILLISECOND, 0);
|
|
||||||
|
|
||||||
Date todayFrom = itemDay.getTime();
|
itemDay.set(Calendar.HOUR_OF_DAY, 23);
|
||||||
|
itemDay.set(Calendar.MINUTE, 59);
|
||||||
|
itemDay.set(Calendar.SECOND, 59);
|
||||||
|
itemDay.set(Calendar.MILLISECOND, 999);
|
||||||
|
|
||||||
itemDay.set(Calendar.HOUR_OF_DAY, 23);
|
Date todayTo = itemDay.getTime();
|
||||||
itemDay.set(Calendar.MINUTE, 59);
|
|
||||||
itemDay.set(Calendar.SECOND, 59);
|
|
||||||
itemDay.set(Calendar.MILLISECOND, 999);
|
|
||||||
|
|
||||||
Date todayTo = itemDay.getTime();
|
// refresh log-report every minute
|
||||||
|
XxlJobLogReport xxlJobLogReport = new XxlJobLogReport();
|
||||||
|
xxlJobLogReport.setTriggerDay(todayFrom);
|
||||||
|
xxlJobLogReport.setRunningCount(0);
|
||||||
|
xxlJobLogReport.setSucCount(0);
|
||||||
|
xxlJobLogReport.setFailCount(0);
|
||||||
|
|
||||||
// refresh log-report every minute
|
Map<String, Object> triggerCountMap = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao()
|
||||||
XxlJobLogReport xxlJobLogReport = new XxlJobLogReport();
|
.findLogReport(todayFrom, todayTo);
|
||||||
xxlJobLogReport.setTriggerDay(todayFrom);
|
if (triggerCountMap != null && !triggerCountMap.isEmpty()) {
|
||||||
xxlJobLogReport.setRunningCount(0);
|
Map<String, Object> lowerTriggerCountMap = new HashMap<>(triggerCountMap.size());
|
||||||
xxlJobLogReport.setSucCount(0);
|
triggerCountMap.forEach((k, v) -> lowerTriggerCountMap.put(k.toLowerCase(Locale.ROOT), v));
|
||||||
xxlJobLogReport.setFailCount(0);
|
int triggerDayCount = lowerTriggerCountMap.containsKey("triggerdaycount") ? Integer.parseInt(String.valueOf(lowerTriggerCountMap.get("triggerdaycount"))) : 0;
|
||||||
|
int triggerDayCountRunning = lowerTriggerCountMap.containsKey("triggerdaycountrunning") ? Integer.parseInt(String.valueOf(lowerTriggerCountMap.get("triggerdaycountrunning"))) : 0;
|
||||||
|
int triggerDayCountSuc = lowerTriggerCountMap.containsKey("triggerdaycountsuc") ? Integer.parseInt(String.valueOf(lowerTriggerCountMap.get("triggerdaycountsuc"))) : 0;
|
||||||
|
int triggerDayCountFail = triggerDayCount - triggerDayCountRunning - triggerDayCountSuc;
|
||||||
|
|
||||||
Map<String, Object> triggerCountMap = XxlJobAdminConfig.getAdminConfig()
|
xxlJobLogReport.setRunningCount(triggerDayCountRunning);
|
||||||
.getXxlJobLogDao()
|
xxlJobLogReport.setSucCount(triggerDayCountSuc);
|
||||||
.findLogReport(todayFrom, todayTo);
|
xxlJobLogReport.setFailCount(triggerDayCountFail);
|
||||||
if (triggerCountMap != null && triggerCountMap.size() > 0) {
|
}
|
||||||
int triggerDayCount = triggerCountMap.containsKey("triggerDayCount")
|
|
||||||
? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCount"))) : 0;
|
|
||||||
int triggerDayCountRunning = triggerCountMap.containsKey("triggerDayCountRunning")
|
|
||||||
? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountRunning")))
|
|
||||||
: 0;
|
|
||||||
int triggerDayCountSuc = triggerCountMap.containsKey("triggerDayCountSuc")
|
|
||||||
? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountSuc")))
|
|
||||||
: 0;
|
|
||||||
int triggerDayCountFail = triggerDayCount - triggerDayCountRunning - triggerDayCountSuc;
|
|
||||||
|
|
||||||
xxlJobLogReport.setRunningCount(triggerDayCountRunning);
|
// do refresh
|
||||||
xxlJobLogReport.setSucCount(triggerDayCountSuc);
|
int ret = XxlJobAdminConfig.getAdminConfig().getXxlJobLogReportDao()
|
||||||
xxlJobLogReport.setFailCount(triggerDayCountFail);
|
.update(xxlJobLogReport);
|
||||||
}
|
if (ret < 1) {
|
||||||
|
XxlJobAdminConfig.getAdminConfig().getXxlJobLogReportDao().save(xxlJobLogReport);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// do refresh
|
} catch (Exception e) {
|
||||||
int ret = XxlJobAdminConfig.getAdminConfig()
|
if (!toStop) {
|
||||||
.getXxlJobLogReportDao()
|
logger.error(">>>>>>>>>>> xxl-job, job log report thread error:{}", e);
|
||||||
.update(xxlJobLogReport);
|
}
|
||||||
if (ret < 1) {
|
}
|
||||||
XxlJobAdminConfig.getAdminConfig().getXxlJobLogReportDao().save(xxlJobLogReport);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
// 2、log-clean: switch open & once each day
|
||||||
catch (Exception e) {
|
if (XxlJobAdminConfig.getAdminConfig().getLogretentiondays() > 0
|
||||||
if (!toStop) {
|
&& System.currentTimeMillis() - lastCleanLogTime > 24 * 60 * 60 * 1000) {
|
||||||
logger.error(">>>>>>>>>>> xxl-job, job log report thread error:{}", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2、log-clean: switch open & once each day
|
// expire-time
|
||||||
if (XxlJobAdminConfig.getAdminConfig().getLogretentiondays() > 0
|
Calendar expiredDay = Calendar.getInstance();
|
||||||
&& System.currentTimeMillis() - lastCleanLogTime > 24 * 60 * 60 * 1000) {
|
expiredDay.add(Calendar.DAY_OF_MONTH,
|
||||||
|
-1 * XxlJobAdminConfig.getAdminConfig().getLogretentiondays());
|
||||||
|
expiredDay.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
expiredDay.set(Calendar.MINUTE, 0);
|
||||||
|
expiredDay.set(Calendar.SECOND, 0);
|
||||||
|
expiredDay.set(Calendar.MILLISECOND, 0);
|
||||||
|
Date clearBeforeTime = expiredDay.getTime();
|
||||||
|
|
||||||
// expire-time
|
// clean expired log
|
||||||
Calendar expiredDay = Calendar.getInstance();
|
List<Long> logIds = null;
|
||||||
expiredDay.add(Calendar.DAY_OF_MONTH,
|
do {
|
||||||
-1 * XxlJobAdminConfig.getAdminConfig().getLogretentiondays());
|
logIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findClearLogIds(0, 0,
|
||||||
expiredDay.set(Calendar.HOUR_OF_DAY, 0);
|
clearBeforeTime, 0, 1000);
|
||||||
expiredDay.set(Calendar.MINUTE, 0);
|
if (logIds != null && !logIds.isEmpty()) {
|
||||||
expiredDay.set(Calendar.SECOND, 0);
|
XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().clearLog(logIds);
|
||||||
expiredDay.set(Calendar.MILLISECOND, 0);
|
}
|
||||||
Date clearBeforeTime = expiredDay.getTime();
|
}
|
||||||
|
while (logIds != null && !logIds.isEmpty());
|
||||||
|
|
||||||
// clean expired log
|
// update clean time
|
||||||
List<Long> logIds = null;
|
lastCleanLogTime = System.currentTimeMillis();
|
||||||
do {
|
}
|
||||||
logIds = XxlJobAdminConfig.getAdminConfig()
|
|
||||||
.getXxlJobLogDao()
|
|
||||||
.findClearLogIds(0, 0, clearBeforeTime, 0, 1000);
|
|
||||||
if (logIds != null && logIds.size() > 0) {
|
|
||||||
XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().clearLog(logIds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (logIds != null && logIds.size() > 0);
|
|
||||||
|
|
||||||
// update clean time
|
try {
|
||||||
lastCleanLogTime = System.currentTimeMillis();
|
TimeUnit.MINUTES.sleep(1);
|
||||||
}
|
} catch (Exception e) {
|
||||||
|
if (!toStop) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
}
|
||||||
TimeUnit.MINUTES.sleep(1);
|
|
||||||
}
|
|
||||||
catch (Exception e) {
|
|
||||||
if (!toStop) {
|
|
||||||
logger.error(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
logger.info(">>>>>>>>>>> xxl-job, job log report thread stop");
|
||||||
|
|
||||||
logger.info(">>>>>>>>>>> xxl-job, job log report thread stop");
|
}
|
||||||
|
});
|
||||||
|
logrThread.setDaemon(true);
|
||||||
|
logrThread.setName("xxl-job, admin JobLogReportHelper");
|
||||||
|
logrThread.start();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
public void toStop() {
|
||||||
});
|
toStop = true;
|
||||||
logrThread.setDaemon(true);
|
// interrupt and wait
|
||||||
logrThread.setName("xxl-job, admin JobLogReportHelper");
|
logrThread.interrupt();
|
||||||
logrThread.start();
|
try {
|
||||||
}
|
logrThread.join();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
public void toStop() {
|
logger.error(e.getMessage(), e);
|
||||||
toStop = true;
|
}
|
||||||
// interrupt and wait
|
}
|
||||||
logrThread.interrupt();
|
|
||||||
try {
|
|
||||||
logrThread.join();
|
|
||||||
}
|
|
||||||
catch (InterruptedException e) {
|
|
||||||
logger.error(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+9
-9
@@ -1,12 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xxl.job.admin.dao.XxlJobGroupDao">
|
<mapper namespace="com.xxl.job.admin.dao.XxlJobGroupDao">
|
||||||
|
|
||||||
<resultMap id="XxlJobGroup" type="com.xxl.job.admin.core.model.XxlJobGroup" >
|
<resultMap id="XxlJobGroup" type="com.xxl.job.admin.core.model.XxlJobGroup" >
|
||||||
<result column="id" property="id" />
|
<result column="id" property="id" />
|
||||||
<result column="app_name" property="appname" />
|
<result column="app_name" property="appname" />
|
||||||
<result column="title" property="title" />
|
<result column="title" property="title" />
|
||||||
<result column="address_type" property="addressType" />
|
<result column="address_type" property="addressType" />
|
||||||
<result column="address_list" property="addressList" />
|
<result column="address_list" property="addressList" />
|
||||||
<result column="update_time" property="updateTime" />
|
<result column="update_time" property="updateTime" />
|
||||||
@@ -35,17 +35,17 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" useGeneratedKeys="true" keyProperty="id" >
|
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" useGeneratedKeys="true" keyProperty="id" >
|
||||||
INSERT INTO xxl_job_group ( `app_name`, `title`, `address_type`, `address_list`, `update_time`)
|
INSERT INTO xxl_job_group ( app_name, title, address_type, address_list, update_time)
|
||||||
values ( #{appname}, #{title}, #{addressType}, #{addressList}, #{updateTime} );
|
values ( #{appname}, #{title}, #{addressType}, #{addressList}, #{updateTime} );
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" >
|
<update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" >
|
||||||
UPDATE xxl_job_group
|
UPDATE xxl_job_group
|
||||||
SET `app_name` = #{appname},
|
SET app_name = #{appname},
|
||||||
`title` = #{title},
|
title = #{title},
|
||||||
`address_type` = #{addressType},
|
address_type = #{addressType},
|
||||||
`address_list` = #{addressList},
|
address_list = #{addressList},
|
||||||
`update_time` = #{updateTime}
|
update_time = #{updateTime}
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|||||||
+26
-26
@@ -1,16 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xxl.job.admin.dao.XxlJobLogGlueDao">
|
<mapper namespace="com.xxl.job.admin.dao.XxlJobLogGlueDao">
|
||||||
|
|
||||||
<resultMap id="XxlJobLogGlue" type="com.xxl.job.admin.core.model.XxlJobLogGlue" >
|
<resultMap id="XxlJobLogGlue" type="com.xxl.job.admin.core.model.XxlJobLogGlue" >
|
||||||
<result column="id" property="id" />
|
<result column="id" property="id" />
|
||||||
<result column="job_id" property="jobId" />
|
<result column="job_id" property="jobId" />
|
||||||
<result column="glue_type" property="glueType" />
|
<result column="glue_type" property="glueType" />
|
||||||
<result column="glue_source" property="glueSource" />
|
<result column="glue_source" property="glueSource" />
|
||||||
<result column="glue_remark" property="glueRemark" />
|
<result column="glue_remark" property="glueRemark" />
|
||||||
<result column="add_time" property="addTime" />
|
<result column="add_time" property="addTime" />
|
||||||
<result column="update_time" property="updateTime" />
|
<result column="update_time" property="updateTime" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
@@ -25,19 +25,19 @@
|
|||||||
|
|
||||||
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogGlue" useGeneratedKeys="true" keyProperty="id" >
|
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogGlue" useGeneratedKeys="true" keyProperty="id" >
|
||||||
INSERT INTO xxl_job_logglue (
|
INSERT INTO xxl_job_logglue (
|
||||||
`job_id`,
|
job_id,
|
||||||
`glue_type`,
|
glue_type,
|
||||||
`glue_source`,
|
glue_source,
|
||||||
`glue_remark`,
|
glue_remark,
|
||||||
`add_time`,
|
add_time,
|
||||||
`update_time`
|
update_time
|
||||||
) VALUES (
|
) VALUES (
|
||||||
#{jobId},
|
#{jobId},
|
||||||
#{glueType},
|
#{glueType},
|
||||||
#{glueSource},
|
#{glueSource},
|
||||||
#{glueRemark},
|
#{glueRemark},
|
||||||
#{addTime},
|
#{addTime},
|
||||||
#{updateTime}
|
#{updateTime}
|
||||||
);
|
);
|
||||||
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
@@ -54,18 +54,18 @@
|
|||||||
<delete id="removeOld" >
|
<delete id="removeOld" >
|
||||||
DELETE FROM xxl_job_logglue
|
DELETE FROM xxl_job_logglue
|
||||||
WHERE id NOT in(
|
WHERE id NOT in(
|
||||||
SELECT id FROM(
|
SELECT id FROM(
|
||||||
SELECT id FROM xxl_job_logglue
|
SELECT id FROM xxl_job_logglue
|
||||||
WHERE `job_id` = #{jobId}
|
WHERE job_id = #{jobId}
|
||||||
ORDER BY update_time desc
|
ORDER BY update_time desc
|
||||||
LIMIT 0, #{limit}
|
LIMIT 0, #{limit}
|
||||||
) t1
|
) t1
|
||||||
) AND `job_id` = #{jobId}
|
) AND job_id = #{jobId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="deleteByJobId" parameterType="java.lang.Integer" >
|
<delete id="deleteByJobId" parameterType="java.lang.Integer" >
|
||||||
DELETE FROM xxl_job_logglue
|
DELETE FROM xxl_job_logglue
|
||||||
WHERE `job_id` = #{jobId}
|
WHERE job_id = #{jobId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
+67
-77
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xxl.job.admin.dao.XxlJobLogDao">
|
<mapper namespace="com.xxl.job.admin.dao.XxlJobLogDao">
|
||||||
|
|
||||||
<resultMap id="XxlJobLog" type="com.xxl.job.admin.core.model.XxlJobLog" >
|
<resultMap id="XxlJobLog" type="com.xxl.job.admin.core.model.XxlJobLog" >
|
||||||
@@ -11,17 +11,17 @@
|
|||||||
|
|
||||||
<result column="executor_address" property="executorAddress" />
|
<result column="executor_address" property="executorAddress" />
|
||||||
<result column="executor_handler" property="executorHandler" />
|
<result column="executor_handler" property="executorHandler" />
|
||||||
<result column="executor_param" property="executorParam" />
|
<result column="executor_param" property="executorParam" />
|
||||||
<result column="executor_sharding_param" property="executorShardingParam" />
|
<result column="executor_sharding_param" property="executorShardingParam" />
|
||||||
<result column="executor_fail_retry_count" property="executorFailRetryCount" />
|
<result column="executor_fail_retry_count" property="executorFailRetryCount" />
|
||||||
|
|
||||||
<result column="trigger_time" property="triggerTime" />
|
<result column="trigger_time" property="triggerTime" />
|
||||||
<result column="trigger_code" property="triggerCode" />
|
<result column="trigger_code" property="triggerCode" />
|
||||||
<result column="trigger_msg" property="triggerMsg" />
|
<result column="trigger_msg" property="triggerMsg" />
|
||||||
|
|
||||||
<result column="handle_time" property="handleTime" />
|
<result column="handle_time" property="handleTime" />
|
||||||
<result column="handle_code" property="handleCode" />
|
<result column="handle_code" property="handleCode" />
|
||||||
<result column="handle_msg" property="handleMsg" />
|
<result column="handle_msg" property="handleMsg" />
|
||||||
|
|
||||||
<result column="alarm_status" property="alarmStatus" />
|
<result column="alarm_status" property="alarmStatus" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
@@ -65,8 +65,8 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="logStatus == 2" >
|
<if test="logStatus == 2" >
|
||||||
AND (
|
AND (
|
||||||
t.trigger_code NOT IN (0, 200) OR
|
t.trigger_code NOT IN (0, 200) OR
|
||||||
t.handle_code NOT IN (0, 200)
|
t.handle_code NOT IN (0, 200)
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="logStatus == 3" >
|
<if test="logStatus == 3" >
|
||||||
@@ -99,8 +99,8 @@
|
|||||||
</if>
|
</if>
|
||||||
<if test="logStatus == 2" >
|
<if test="logStatus == 2" >
|
||||||
AND (
|
AND (
|
||||||
t.trigger_code NOT IN (0, 200) OR
|
t.trigger_code NOT IN (0, 200) OR
|
||||||
t.handle_code NOT IN (0, 200)
|
t.handle_code NOT IN (0, 200)
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="logStatus == 3" >
|
<if test="logStatus == 3" >
|
||||||
@@ -119,17 +119,17 @@
|
|||||||
|
|
||||||
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" >
|
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" >
|
||||||
INSERT INTO xxl_job_log (
|
INSERT INTO xxl_job_log (
|
||||||
`job_group`,
|
job_group,
|
||||||
`job_id`,
|
job_id,
|
||||||
`trigger_time`,
|
trigger_time,
|
||||||
`trigger_code`,
|
trigger_code,
|
||||||
`handle_code`
|
handle_code
|
||||||
) VALUES (
|
) VALUES (
|
||||||
#{jobGroup},
|
#{jobGroup},
|
||||||
#{jobId},
|
#{jobId},
|
||||||
#{triggerTime},
|
#{triggerTime},
|
||||||
#{triggerCode},
|
#{triggerCode},
|
||||||
#{handleCode}
|
#{handleCode}
|
||||||
);
|
);
|
||||||
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
@@ -139,24 +139,24 @@
|
|||||||
<update id="updateTriggerInfo" >
|
<update id="updateTriggerInfo" >
|
||||||
UPDATE xxl_job_log
|
UPDATE xxl_job_log
|
||||||
SET
|
SET
|
||||||
`trigger_time`= #{triggerTime},
|
trigger_time= #{triggerTime},
|
||||||
`trigger_code`= #{triggerCode},
|
trigger_code= #{triggerCode},
|
||||||
`trigger_msg`= #{triggerMsg},
|
trigger_msg= #{triggerMsg},
|
||||||
`executor_address`= #{executorAddress},
|
executor_address= #{executorAddress},
|
||||||
`executor_handler`=#{executorHandler},
|
executor_handler=#{executorHandler},
|
||||||
`executor_param`= #{executorParam},
|
executor_param= #{executorParam},
|
||||||
`executor_sharding_param`= #{executorShardingParam},
|
executor_sharding_param= #{executorShardingParam},
|
||||||
`executor_fail_retry_count`= #{executorFailRetryCount}
|
executor_fail_retry_count= #{executorFailRetryCount}
|
||||||
WHERE `id`= #{id}
|
WHERE id= #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateHandleInfo">
|
<update id="updateHandleInfo">
|
||||||
UPDATE xxl_job_log
|
UPDATE xxl_job_log
|
||||||
SET
|
SET
|
||||||
`handle_time`= #{handleTime},
|
handle_time= #{handleTime},
|
||||||
`handle_code`= #{handleCode},
|
handle_code= #{handleCode},
|
||||||
`handle_msg`= #{handleMsg}
|
handle_msg= #{handleMsg}
|
||||||
WHERE `id`= #{id}
|
WHERE id= #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<delete id="delete" >
|
<delete id="delete" >
|
||||||
@@ -164,26 +164,26 @@
|
|||||||
WHERE job_id = #{jobId}
|
WHERE job_id = #{jobId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<!--<select id="triggerCountByDay" resultType="java.util.Map" >
|
<!--<select id="triggerCountByDay" resultType="java.util.Map" >
|
||||||
SELECT
|
SELECT
|
||||||
DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
|
DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
|
||||||
COUNT(handle_code) triggerDayCount,
|
COUNT(handle_code) triggerDayCount,
|
||||||
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
|
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
|
||||||
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
|
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
|
||||||
FROM xxl_job_log
|
FROM xxl_job_log
|
||||||
WHERE trigger_time BETWEEN #{from} and #{to}
|
WHERE trigger_time BETWEEN #{from} and #{to}
|
||||||
GROUP BY triggerDay
|
GROUP BY triggerDay
|
||||||
ORDER BY triggerDay
|
ORDER BY triggerDay
|
||||||
</select>-->
|
</select>-->
|
||||||
|
|
||||||
<select id="findLogReport" resultType="java.util.Map" >
|
<select id="findLogReport" resultType="java.util.Map" >
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(handle_code) triggerDayCount,
|
COUNT(handle_code) triggerDayCount,
|
||||||
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
|
SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
|
||||||
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
|
SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
|
||||||
FROM xxl_job_log
|
FROM xxl_job_log
|
||||||
WHERE trigger_time BETWEEN #{from} and #{to}
|
WHERE trigger_time BETWEEN #{from} and #{to}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="findClearLogIds" resultType="long" >
|
<select id="findClearLogIds" resultType="long" >
|
||||||
SELECT id FROM xxl_job_log
|
SELECT id FROM xxl_job_log
|
||||||
@@ -228,13 +228,15 @@
|
|||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="findFailJobLogIds" resultType="long" >
|
<select id="findFailJobLogIds" resultType="long" >
|
||||||
SELECT id FROM `xxl_job_log`
|
SELECT id
|
||||||
WHERE !(
|
FROM xxl_job_log
|
||||||
(trigger_code in (0, 200) and handle_code = 0)
|
WHERE
|
||||||
OR
|
NOT (
|
||||||
(handle_code = 200)
|
(trigger_code IN (0, 200) AND handle_code = 0)
|
||||||
|
OR
|
||||||
|
(handle_code = 200)
|
||||||
)
|
)
|
||||||
AND `alarm_status` = 0
|
AND alarm_status = 0
|
||||||
ORDER BY id ASC
|
ORDER BY id ASC
|
||||||
LIMIT #{pagesize}
|
LIMIT #{pagesize}
|
||||||
</select>
|
</select>
|
||||||
@@ -242,32 +244,20 @@
|
|||||||
<update id="updateAlarmStatus" >
|
<update id="updateAlarmStatus" >
|
||||||
UPDATE xxl_job_log
|
UPDATE xxl_job_log
|
||||||
SET
|
SET
|
||||||
`alarm_status` = #{newAlarmStatus}
|
alarm_status = #{newAlarmStatus}
|
||||||
WHERE `id`= #{logId} AND `alarm_status` = #{oldAlarmStatus}
|
WHERE id= #{logId} AND alarm_status = #{oldAlarmStatus}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="findLostJobIds" resultType="long" >
|
<select id="findLostJobIds" resultType="long" >
|
||||||
SELECT
|
SELECT
|
||||||
t.id
|
t.id
|
||||||
FROM
|
FROM
|
||||||
xxl_job_log t
|
xxl_job_log t
|
||||||
LEFT JOIN xxl_job_registry t2 ON t.executor_address = t2.registry_value
|
LEFT JOIN xxl_job_registry t2 ON t.executor_address = t2.registry_value
|
||||||
WHERE
|
WHERE
|
||||||
t.trigger_code = 200
|
t.trigger_code = 200
|
||||||
AND t.handle_code = 0
|
AND t.handle_code = 0
|
||||||
AND t.trigger_time <![CDATA[ <= ]]> #{losedTime}
|
AND t.trigger_time <![CDATA[ <= ]]> #{losedTime}
|
||||||
AND t2.id IS NULL;
|
AND t2.id IS NULL;
|
||||||
</select>
|
</select>
|
||||||
<!--
|
|
||||||
SELECT t.id
|
|
||||||
FROM xxl_job_log AS t
|
|
||||||
WHERE t.trigger_code = 200
|
|
||||||
and t.handle_code = 0
|
|
||||||
and t.trigger_time <![CDATA[ <= ]]> #{losedTime}
|
|
||||||
and t.executor_address not in (
|
|
||||||
SELECT t2.registry_value
|
|
||||||
FROM xxl_job_registry AS t2
|
|
||||||
)
|
|
||||||
-->
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
+21
-21
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xxl.job.admin.dao.XxlJobLogReportDao">
|
<mapper namespace="com.xxl.job.admin.dao.XxlJobLogReportDao">
|
||||||
|
|
||||||
<resultMap id="XxlJobLogReport" type="com.xxl.job.admin.core.model.XxlJobLogReport" >
|
<resultMap id="XxlJobLogReport" type="com.xxl.job.admin.core.model.XxlJobLogReport" >
|
||||||
<result column="id" property="id" />
|
<result column="id" property="id" />
|
||||||
<result column="trigger_day" property="triggerDay" />
|
<result column="trigger_day" property="triggerDay" />
|
||||||
<result column="running_count" property="runningCount" />
|
<result column="running_count" property="runningCount" />
|
||||||
<result column="suc_count" property="sucCount" />
|
<result column="suc_count" property="sucCount" />
|
||||||
<result column="fail_count" property="failCount" />
|
<result column="fail_count" property="failCount" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
@@ -21,15 +21,15 @@
|
|||||||
|
|
||||||
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogReport" useGeneratedKeys="true" keyProperty="id" >
|
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLogReport" useGeneratedKeys="true" keyProperty="id" >
|
||||||
INSERT INTO xxl_job_log_report (
|
INSERT INTO xxl_job_log_report (
|
||||||
`trigger_day`,
|
trigger_day,
|
||||||
`running_count`,
|
running_count,
|
||||||
`suc_count`,
|
suc_count,
|
||||||
`fail_count`
|
fail_count
|
||||||
) VALUES (
|
) VALUES (
|
||||||
#{triggerDay},
|
#{triggerDay},
|
||||||
#{runningCount},
|
#{runningCount},
|
||||||
#{sucCount},
|
#{sucCount},
|
||||||
#{failCount}
|
#{failCount}
|
||||||
);
|
);
|
||||||
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
<!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
@@ -37,12 +37,12 @@
|
|||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="update" >
|
<update id="update" >
|
||||||
UPDATE xxl_job_log_report
|
UPDATE xxl_job_log_report
|
||||||
SET `running_count` = #{runningCount},
|
SET running_count = #{runningCount},
|
||||||
`suc_count` = #{sucCount},
|
suc_count = #{sucCount},
|
||||||
`fail_count` = #{failCount}
|
fail_count = #{failCount}
|
||||||
WHERE `trigger_day` = #{triggerDay}
|
WHERE trigger_day = #{triggerDay}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="queryLogReport" resultMap="XxlJobLogReport">
|
<select id="queryLogReport" resultMap="XxlJobLogReport">
|
||||||
SELECT <include refid="Base_Column_List" />
|
SELECT <include refid="Base_Column_List" />
|
||||||
@@ -53,9 +53,9 @@
|
|||||||
|
|
||||||
<select id="queryLogReportTotal" resultMap="XxlJobLogReport">
|
<select id="queryLogReportTotal" resultMap="XxlJobLogReport">
|
||||||
SELECT
|
SELECT
|
||||||
SUM(running_count) running_count,
|
SUM(running_count) running_count,
|
||||||
SUM(suc_count) suc_count,
|
SUM(suc_count) suc_count,
|
||||||
SUM(fail_count) fail_count
|
SUM(fail_count) fail_count
|
||||||
FROM xxl_job_log_report AS t
|
FROM xxl_job_log_report AS t
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
+20
-19
@@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.xxl.job.admin.dao.XxlJobRegistryDao">
|
<mapper namespace="com.xxl.job.admin.dao.XxlJobRegistryDao">
|
||||||
|
|
||||||
<resultMap id="XxlJobRegistry" type="com.xxl.job.admin.core.model.XxlJobRegistry" >
|
<resultMap id="XxlJobRegistry" type="com.xxl.job.admin.core.model.XxlJobRegistry" >
|
||||||
<result column="id" property="id" />
|
<result column="id" property="id" />
|
||||||
<result column="registry_group" property="registryGroup" />
|
<result column="registry_group" property="registryGroup" />
|
||||||
<result column="registry_key" property="registryKey" />
|
<result column="registry_key" property="registryKey" />
|
||||||
<result column="registry_value" property="registryValue" />
|
<result column="registry_value" property="registryValue" />
|
||||||
<result column="update_time" property="updateTime" />
|
<result column="update_time" property="updateTime" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
@@ -22,7 +22,8 @@
|
|||||||
<select id="findDead" parameterType="java.util.HashMap" resultType="java.lang.Integer" >
|
<select id="findDead" parameterType="java.util.HashMap" resultType="java.lang.Integer" >
|
||||||
SELECT t.id
|
SELECT t.id
|
||||||
FROM xxl_job_registry AS t
|
FROM xxl_job_registry AS t
|
||||||
WHERE t.update_time <![CDATA[ < ]]> DATE_ADD(#{nowTime},INTERVAL -#{timeout} SECOND)
|
|
||||||
|
WHERE t.update_time <![CDATA[ < ]]> ( sysdate() -(CONCAT(#{timeout}, '.0')/24/60/60))
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<delete id="removeDead" parameterType="java.lang.Integer" >
|
<delete id="removeDead" parameterType="java.lang.Integer" >
|
||||||
@@ -36,27 +37,27 @@
|
|||||||
<select id="findAll" parameterType="java.util.HashMap" resultMap="XxlJobRegistry">
|
<select id="findAll" parameterType="java.util.HashMap" resultMap="XxlJobRegistry">
|
||||||
SELECT <include refid="Base_Column_List" />
|
SELECT <include refid="Base_Column_List" />
|
||||||
FROM xxl_job_registry AS t
|
FROM xxl_job_registry AS t
|
||||||
WHERE t.update_time <![CDATA[ > ]]> DATE_ADD(#{nowTime},INTERVAL -#{timeout} SECOND)
|
WHERE t.update_time <![CDATA[ > ]]> (sysdate()-(CONCAT(#{timeout}, '.0')/24/60/60))
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="registryUpdate" >
|
<update id="registryUpdate" >
|
||||||
UPDATE xxl_job_registry
|
UPDATE xxl_job_registry
|
||||||
SET `update_time` = #{updateTime}
|
SET update_time = #{updateTime}
|
||||||
WHERE `registry_group` = #{registryGroup}
|
WHERE registry_group = #{registryGroup}
|
||||||
AND `registry_key` = #{registryKey}
|
AND registry_key = #{registryKey}
|
||||||
AND `registry_value` = #{registryValue}
|
AND registry_value = #{registryValue}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<insert id="registrySave" >
|
<insert id="registrySave" >
|
||||||
INSERT INTO xxl_job_registry( `registry_group` , `registry_key` , `registry_value`, `update_time`)
|
INSERT INTO xxl_job_registry( registry_group , registry_key , registry_value, update_time)
|
||||||
VALUES( #{registryGroup} , #{registryKey} , #{registryValue}, #{updateTime})
|
VALUES( #{registryGroup} , #{registryKey} , #{registryValue}, #{updateTime})
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<delete id="registryDelete" >
|
<delete id="registryDelete" >
|
||||||
DELETE FROM xxl_job_registry
|
DELETE FROM xxl_job_registry
|
||||||
WHERE registry_group = #{registryGroup}
|
WHERE registry_group = #{registryGroup}
|
||||||
AND registry_key = #{registryKey}
|
AND registry_key = #{registryKey}
|
||||||
AND registry_value = #{registryValue}
|
AND registry_value = #{registryValue}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in new issue
Block a user