summaryrefslogtreecommitdiff
path: root/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
diff options
context:
space:
mode:
Diffstat (limited to 'xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml')
-rw-r--r--xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml249
1 files changed, 249 insertions, 0 deletions
diff --git a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
new file mode 100644
index 0000000..e8129e2
--- /dev/null
+++ b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xxl.job.admin.dao.XxlJobLogDao">
+
+ <resultMap id="XxlJobLog" type="com.xxl.job.admin.core.model.XxlJobLog" >
+ <result column="id" property="id" />
+
+ <result column="job_group" property="jobGroup" />
+ <result column="job_id" property="jobId" />
+
+ <result column="executor_address" property="executorAddress" />
+ <result column="executor_handler" property="executorHandler" />
+ <result column="executor_param" property="executorParam" />
+ <result column="executor_sharding_param" property="executorShardingParam" />
+ <result column="executor_fail_retry_count" property="executorFailRetryCount" />
+
+ <result column="trigger_time" property="triggerTime" />
+ <result column="trigger_code" property="triggerCode" />
+ <result column="trigger_msg" property="triggerMsg" />
+
+ <result column="handle_time" property="handleTime" />
+ <result column="handle_code" property="handleCode" />
+ <result column="handle_msg" property="handleMsg" />
+
+ <result column="alarm_status" property="alarmStatus" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ t.id,
+ t.job_group,
+ t.job_id,
+ t.executor_address,
+ t.executor_handler,
+ t.executor_param,
+ t.executor_sharding_param,
+ t.executor_fail_retry_count,
+ t.trigger_time,
+ t.trigger_code,
+ t.trigger_msg,
+ t.handle_time,
+ t.handle_code,
+ t.handle_msg,
+ t.alarm_status
+ </sql>
+
+ <select id="pageList" resultMap="XxlJobLog">
+ SELECT <include refid="Base_Column_List" />
+ FROM xxl_job_log AS t
+ <trim prefix="WHERE" prefixOverrides="AND | OR" >
+ <if test="jobId==0 and jobGroup gt 0">
+ AND t.job_group = #{jobGroup}
+ </if>
+ <if test="jobId gt 0">
+ AND t.job_id = #{jobId}
+ </if>
+ <if test="triggerTimeStart != null">
+ AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
+ </if>
+ <if test="triggerTimeEnd != null">
+ AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
+ </if>
+ <if test="logStatus == 1" >
+ AND t.handle_code = 200
+ </if>
+ <if test="logStatus == 2" >
+ AND (
+ t.trigger_code NOT IN (0, 200) OR
+ t.handle_code NOT IN (0, 200)
+ )
+ </if>
+ <if test="logStatus == 3" >
+ AND t.trigger_code = 200
+ AND t.handle_code = 0
+ </if>
+ </trim>
+ ORDER BY t.trigger_time DESC
+ LIMIT #{offset}, #{pagesize}
+ </select>
+
+ <select id="pageListCount" resultType="int">
+ SELECT count(1)
+ FROM xxl_job_log AS t
+ <trim prefix="WHERE" prefixOverrides="AND | OR" >
+ <if test="jobId==0 and jobGroup gt 0">
+ AND t.job_group = #{jobGroup}
+ </if>
+ <if test="jobId gt 0">
+ AND t.job_id = #{jobId}
+ </if>
+ <if test="triggerTimeStart != null">
+ AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
+ </if>
+ <if test="triggerTimeEnd != null">
+ AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
+ </if>
+ <if test="logStatus == 1" >
+ AND t.handle_code = 200
+ </if>
+ <if test="logStatus == 2" >
+ AND (
+ t.trigger_code NOT IN (0, 200) OR
+ t.handle_code NOT IN (0, 200)
+ )
+ </if>
+ <if test="logStatus == 3" >
+ AND t.trigger_code = 200
+ AND t.handle_code = 0
+ </if>
+ </trim>
+ </select>
+
+ <select id="load" parameterType="java.lang.Long" resultMap="XxlJobLog">
+ SELECT <include refid="Base_Column_List" />
+ FROM xxl_job_log AS t
+ WHERE t.id = #{id}
+ </select>
+
+
+ <insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" >
+ INSERT INTO xxl_job_log (
+ `job_group`,
+ `job_id`,
+ `trigger_time`,
+ `trigger_code`,
+ `handle_code`
+ ) VALUES (
+ #{jobGroup},
+ #{jobId},
+ #{triggerTime},
+ #{triggerCode},
+ #{handleCode}
+ );
+ <!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
+ SELECT LAST_INSERT_ID()
+ </selectKey>-->
+ </insert>
+
+ <update id="updateTriggerInfo" >
+ UPDATE xxl_job_log
+ SET
+ `trigger_time`= #{triggerTime},
+ `trigger_code`= #{triggerCode},
+ `trigger_msg`= #{triggerMsg},
+ `executor_address`= #{executorAddress},
+ `executor_handler`=#{executorHandler},
+ `executor_param`= #{executorParam},
+ `executor_sharding_param`= #{executorShardingParam},
+ `executor_fail_retry_count`= #{executorFailRetryCount}
+ WHERE `id`= #{id}
+ </update>
+
+ <update id="updateHandleInfo">
+ UPDATE xxl_job_log
+ SET
+ `handle_time`= #{handleTime},
+ `handle_code`= #{handleCode},
+ `handle_msg`= #{handleMsg}
+ WHERE `id`= #{id}
+ </update>
+
+ <delete id="delete" >
+ delete from xxl_job_log
+ WHERE job_id = #{jobId}
+ </delete>
+
+ <!--<select id="triggerCountByDay" resultType="java.util.Map" >
+ SELECT
+ DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
+ 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 handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
+ FROM xxl_job_log
+ WHERE trigger_time BETWEEN #{from} and #{to}
+ GROUP BY triggerDay
+ ORDER BY triggerDay
+ </select>-->
+
+ <select id="findLogReport" resultType="java.util.Map" >
+ SELECT
+ 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 handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
+ FROM xxl_job_log
+ WHERE trigger_time BETWEEN #{from} and #{to}
+ </select>
+
+ <select id="findClearLogIds" resultType="long" >
+ SELECT id FROM xxl_job_log
+ <trim prefix="WHERE" prefixOverrides="AND | OR" >
+ <if test="jobGroup gt 0">
+ AND job_group = #{jobGroup}
+ </if>
+ <if test="jobId gt 0">
+ AND job_id = #{jobId}
+ </if>
+ <if test="clearBeforeTime != null">
+ AND trigger_time <![CDATA[ <= ]]> #{clearBeforeTime}
+ </if>
+ <if test="clearBeforeNum gt 0">
+ AND id NOT in(
+ SELECT id FROM(
+ SELECT id FROM xxl_job_log AS t
+ <trim prefix="WHERE" prefixOverrides="AND | OR" >
+ <if test="jobGroup gt 0">
+ AND t.job_group = #{jobGroup}
+ </if>
+ <if test="jobId gt 0">
+ AND t.job_id = #{jobId}
+ </if>
+ </trim>
+ ORDER BY t.trigger_time desc
+ LIMIT 0, #{clearBeforeNum}
+ ) t1
+ )
+ </if>
+ </trim>
+ order by id asc
+ LIMIT #{pagesize}
+ </select>
+
+ <delete id="clearLog" >
+ delete from xxl_job_log
+ WHERE id in
+ <foreach collection="logIds" item="item" open="(" close=")" separator="," >
+ #{item}
+ </foreach>
+ </delete>
+
+ <select id="findFailJobLogIds" resultType="long" >
+ SELECT id FROM `xxl_job_log`
+ WHERE !(
+ (trigger_code in (0, 200) and handle_code = 0)
+ OR
+ (handle_code = 200)
+ )
+ AND `alarm_status` = 0
+ ORDER BY id ASC
+ LIMIT #{pagesize}
+ </select>
+
+ <update id="updateAlarmStatus" >
+ UPDATE xxl_job_log
+ SET
+ `alarm_status` = #{newAlarmStatus}
+ WHERE `id`= #{logId} AND `alarm_status` = #{oldAlarmStatus}
+ </update>
+
+</mapper> \ No newline at end of file