XxlJobLogMapper.xml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.xxl.job.admin.dao.XxlJobLogDao">
  5. <resultMap id="XxlJobLog" type="com.xxl.job.admin.core.model.XxlJobLog" >
  6. <result column="id" property="id" />
  7. <result column="job_group" property="jobGroup" />
  8. <result column="job_id" property="jobId" />
  9. <result column="executor_address" property="executorAddress" />
  10. <result column="executor_handler" property="executorHandler" />
  11. <result column="executor_param" property="executorParam" />
  12. <result column="executor_sharding_param" property="executorShardingParam" />
  13. <result column="executor_fail_retry_count" property="executorFailRetryCount" />
  14. <result column="trigger_time" property="triggerTime" />
  15. <result column="trigger_code" property="triggerCode" />
  16. <result column="trigger_msg" property="triggerMsg" />
  17. <result column="handle_time" property="handleTime" />
  18. <result column="handle_code" property="handleCode" />
  19. <result column="handle_msg" property="handleMsg" />
  20. <result column="alarm_status" property="alarmStatus" />
  21. </resultMap>
  22. <sql id="Base_Column_List">
  23. t.id,
  24. t.job_group,
  25. t.job_id,
  26. t.executor_address,
  27. t.executor_handler,
  28. t.executor_param,
  29. t.executor_sharding_param,
  30. t.executor_fail_retry_count,
  31. t.trigger_time,
  32. t.trigger_code,
  33. t.trigger_msg,
  34. t.handle_time,
  35. t.handle_code,
  36. t.handle_msg,
  37. t.alarm_status
  38. </sql>
  39. <select id="pageList" resultMap="XxlJobLog">
  40. SELECT <include refid="Base_Column_List" />
  41. FROM XXL_JOB_LOG AS t
  42. <trim prefix="WHERE" prefixOverrides="AND | OR" >
  43. <if test="jobId==0 and jobGroup gt 0">
  44. AND t.job_group = #{jobGroup}
  45. </if>
  46. <if test="jobId gt 0">
  47. AND t.job_id = #{jobId}
  48. </if>
  49. <if test="triggerTimeStart != null">
  50. AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
  51. </if>
  52. <if test="triggerTimeEnd != null">
  53. AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
  54. </if>
  55. <if test="logStatus == 1" >
  56. AND t.handle_code = 200
  57. </if>
  58. <if test="logStatus == 2" >
  59. AND (
  60. t.trigger_code NOT IN (0, 200) OR
  61. t.handle_code NOT IN (0, 200)
  62. )
  63. </if>
  64. <if test="logStatus == 3" >
  65. AND t.trigger_code = 200
  66. AND t.handle_code = 0
  67. </if>
  68. </trim>
  69. ORDER BY t.trigger_time DESC
  70. LIMIT #{offset}, #{pagesize}
  71. </select>
  72. <select id="pageListCount" resultType="int">
  73. SELECT count(1)
  74. FROM XXL_JOB_LOG AS t
  75. <trim prefix="WHERE" prefixOverrides="AND | OR" >
  76. <if test="jobId==0 and jobGroup gt 0">
  77. AND t.job_group = #{jobGroup}
  78. </if>
  79. <if test="jobId gt 0">
  80. AND t.job_id = #{jobId}
  81. </if>
  82. <if test="triggerTimeStart != null">
  83. AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
  84. </if>
  85. <if test="triggerTimeEnd != null">
  86. AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
  87. </if>
  88. <if test="logStatus == 1" >
  89. AND t.handle_code = 200
  90. </if>
  91. <if test="logStatus == 2" >
  92. AND (
  93. t.trigger_code NOT IN (0, 200) OR
  94. t.handle_code NOT IN (0, 200)
  95. )
  96. </if>
  97. <if test="logStatus == 3" >
  98. AND t.trigger_code = 200
  99. AND t.handle_code = 0
  100. </if>
  101. </trim>
  102. </select>
  103. <select id="load" parameterType="java.lang.Integer" resultMap="XxlJobLog">
  104. SELECT <include refid="Base_Column_List" />
  105. FROM XXL_JOB_LOG AS t
  106. WHERE t.id = #{id}
  107. </select>
  108. <insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" >
  109. INSERT INTO XXL_JOB_LOG (
  110. `job_group`,
  111. `job_id`,
  112. `trigger_time`,
  113. `trigger_code`,
  114. `handle_code`
  115. ) VALUES (
  116. #{jobGroup},
  117. #{jobId},
  118. #{triggerTime},
  119. #{triggerCode},
  120. #{handleCode}
  121. );
  122. <!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
  123. SELECT LAST_INSERT_ID()
  124. </selectKey>-->
  125. </insert>
  126. <update id="updateTriggerInfo" >
  127. UPDATE XXL_JOB_LOG
  128. SET
  129. `trigger_time`= #{triggerTime},
  130. `trigger_code`= #{triggerCode},
  131. `trigger_msg`= #{triggerMsg},
  132. `executor_address`= #{executorAddress},
  133. `executor_handler`=#{executorHandler},
  134. `executor_param`= #{executorParam},
  135. `executor_sharding_param`= #{executorShardingParam},
  136. `executor_fail_retry_count`= #{executorFailRetryCount}
  137. WHERE `id`= #{id}
  138. </update>
  139. <update id="updateHandleInfo">
  140. UPDATE XXL_JOB_LOG
  141. SET
  142. `handle_time`= #{handleTime},
  143. `handle_code`= #{handleCode},
  144. `handle_msg`= #{handleMsg}
  145. WHERE `id`= #{id}
  146. </update>
  147. <delete id="delete" >
  148. delete from XXL_JOB_LOG
  149. WHERE job_id = #{jobId}
  150. </delete>
  151. <select id="triggerCountByHandleCode" resultType="int" >
  152. SELECT count(1)
  153. FROM XXL_JOB_LOG AS t
  154. <trim prefix="WHERE" prefixOverrides="AND | OR" >
  155. <if test="handleCode gt 0">
  156. AND t.handle_code = #{handleCode}
  157. </if>
  158. </trim>
  159. </select>
  160. <select id="triggerCountByDay" resultType="java.util.Map" >
  161. SELECT
  162. DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
  163. COUNT(handle_code) triggerDayCount,
  164. SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
  165. SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
  166. FROM XXL_JOB_LOG
  167. WHERE trigger_time BETWEEN #{from} and #{to}
  168. GROUP BY triggerDay;
  169. </select>
  170. <delete id="clearLog" >
  171. delete from XXL_JOB_LOG
  172. <trim prefix="WHERE" prefixOverrides="AND | OR" >
  173. <if test="jobGroup gt 0">
  174. AND job_group = #{jobGroup}
  175. </if>
  176. <if test="jobId gt 0">
  177. AND job_id = #{jobId}
  178. </if>
  179. <if test="clearBeforeTime != null">
  180. AND trigger_time <![CDATA[ <= ]]> #{clearBeforeTime}
  181. </if>
  182. <if test="clearBeforeNum gt 0">
  183. AND id NOT in(
  184. SELECT id FROM(
  185. SELECT id FROM XXL_JOB_LOG AS t
  186. <trim prefix="WHERE" prefixOverrides="AND | OR" >
  187. <if test="jobGroup gt 0">
  188. AND t.job_group = #{jobGroup}
  189. </if>
  190. <if test="jobId gt 0">
  191. AND t.job_id = #{jobId}
  192. </if>
  193. </trim>
  194. ORDER BY t.trigger_time desc
  195. LIMIT 0, #{clearBeforeNum}
  196. ) t1
  197. )
  198. </if>
  199. </trim>
  200. </delete>
  201. <select id="findFailJobLogIds" resultType="int" >
  202. SELECT id FROM `XXL_JOB_LOG`
  203. WHERE !(
  204. (trigger_code in (0, 200) and handle_code = 0)
  205. OR
  206. (handle_code = 200)
  207. )
  208. AND `alarm_status` = 0
  209. ORDER BY id ASC
  210. </select>
  211. <update id="updateAlarmStatus" >
  212. UPDATE XXL_JOB_LOG
  213. SET
  214. `alarm_status` = #{newAlarmStatus}
  215. WHERE `id`= #{logId} AND `alarm_status` = #{oldAlarmStatus}
  216. </update>
  217. </mapper>