XxlJobLogMapper.xml 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  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
  41. <include refid="Base_Column_List"/>
  42. FROM xxl_job_log AS t
  43. <trim prefix="WHERE" prefixOverrides="AND | OR">
  44. <if test="jobId==0 and jobGroup gt 0">
  45. AND t.job_group = #{jobGroup}
  46. </if>
  47. <if test="jobId gt 0">
  48. AND t.job_id = #{jobId}
  49. </if>
  50. <if test="triggerTimeStart != null">
  51. AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
  52. </if>
  53. <if test="triggerTimeEnd != null">
  54. AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
  55. </if>
  56. <if test="logStatus == 1">
  57. AND t.handle_code = 200
  58. </if>
  59. <if test="logStatus == 2">
  60. AND (
  61. t.trigger_code NOT IN (0, 200) OR
  62. t.handle_code NOT IN (0, 200)
  63. )
  64. </if>
  65. <if test="logStatus == 3">
  66. AND t.trigger_code = 200
  67. AND t.handle_code = 0
  68. </if>
  69. </trim>
  70. ORDER BY t.trigger_time DESC
  71. LIMIT #{offset}, #{pagesize}
  72. </select>
  73. <select id="pageListCount" resultType="int">
  74. SELECT count(1)
  75. FROM xxl_job_log AS t
  76. <trim prefix="WHERE" prefixOverrides="AND | OR">
  77. <if test="jobId==0 and jobGroup gt 0">
  78. AND t.job_group = #{jobGroup}
  79. </if>
  80. <if test="jobId gt 0">
  81. AND t.job_id = #{jobId}
  82. </if>
  83. <if test="triggerTimeStart != null">
  84. AND t.trigger_time <![CDATA[ >= ]]> #{triggerTimeStart}
  85. </if>
  86. <if test="triggerTimeEnd != null">
  87. AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
  88. </if>
  89. <if test="logStatus == 1">
  90. AND t.handle_code = 200
  91. </if>
  92. <if test="logStatus == 2">
  93. AND (
  94. t.trigger_code NOT IN (0, 200) OR
  95. t.handle_code NOT IN (0, 200)
  96. )
  97. </if>
  98. <if test="logStatus == 3">
  99. AND t.trigger_code = 200
  100. AND t.handle_code = 0
  101. </if>
  102. </trim>
  103. </select>
  104. <select id="load" parameterType="java.lang.Long" resultMap="XxlJobLog">
  105. SELECT
  106. <include refid="Base_Column_List"/>
  107. FROM xxl_job_log AS t
  108. WHERE t.id = #{id}
  109. </select>
  110. <insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id">
  111. INSERT INTO xxl_job_log (
  112. `job_group`,
  113. `job_id`,
  114. `trigger_time`,
  115. `trigger_code`,
  116. `handle_code`
  117. ) VALUES (
  118. #{jobGroup},
  119. #{jobId},
  120. #{triggerTime},
  121. #{triggerCode},
  122. #{handleCode}
  123. );
  124. <!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
  125. SELECT LAST_INSERT_ID()
  126. </selectKey>-->
  127. </insert>
  128. <update id="updateTriggerInfo">
  129. UPDATE xxl_job_log
  130. SET
  131. `trigger_time`= #{triggerTime},
  132. `trigger_code`=
  133. #{triggerCode},
  134. `trigger_msg`=
  135. #{triggerMsg},
  136. `executor_address`=
  137. #{executorAddress},
  138. `executor_handler`=
  139. #{executorHandler},
  140. `executor_param`=
  141. #{executorParam},
  142. `executor_sharding_param`=
  143. #{executorShardingParam},
  144. `executor_fail_retry_count`=
  145. #{executorFailRetryCount}
  146. WHERE `id`= #{id}
  147. </update>
  148. <update id="updateHandleInfo">
  149. UPDATE xxl_job_log
  150. SET
  151. `handle_time`= #{handleTime},
  152. `handle_code`=
  153. #{handleCode},
  154. `handle_msg`=
  155. #{handleMsg}
  156. WHERE `id`= #{id}
  157. </update>
  158. <delete id="delete">
  159. delete
  160. from xxl_job_log
  161. WHERE job_id = #{jobId}
  162. </delete>
  163. <!--<select id="triggerCountByDay" resultType="java.util.Map" >
  164. SELECT
  165. DATE_FORMAT(trigger_time,'%Y-%m-%d') triggerDay,
  166. COUNT(handle_code) triggerDayCount,
  167. SUM(CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
  168. SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
  169. FROM xxl_job_log
  170. WHERE trigger_time BETWEEN #{from} and #{to}
  171. GROUP BY triggerDay
  172. ORDER BY triggerDay
  173. </select>-->
  174. <select id="findLogReport" resultType="java.util.Map">
  175. SELECT COUNT(handle_code) triggerDayCount,
  176. SUM(
  177. CASE WHEN (trigger_code in (0, 200) and handle_code = 0) then 1 else 0 end) as triggerDayCountRunning,
  178. SUM(CASE WHEN handle_code = 200 then 1 else 0 end) as triggerDayCountSuc
  179. FROM xxl_job_log
  180. WHERE trigger_time BETWEEN #{from} and #{to}
  181. </select>
  182. <select id="findClearLogIds" resultType="long">
  183. SELECT id FROM xxl_job_log
  184. <trim prefix="WHERE" prefixOverrides="AND | OR">
  185. <if test="jobGroup gt 0">
  186. AND job_group = #{jobGroup}
  187. </if>
  188. <if test="jobId gt 0">
  189. AND job_id = #{jobId}
  190. </if>
  191. <if test="clearBeforeTime != null">
  192. AND trigger_time <![CDATA[ <= ]]> #{clearBeforeTime}
  193. </if>
  194. <if test="clearBeforeNum gt 0">
  195. AND id NOT in(
  196. SELECT id FROM(
  197. SELECT id FROM xxl_job_log AS t
  198. <trim prefix="WHERE" prefixOverrides="AND | OR">
  199. <if test="jobGroup gt 0">
  200. AND t.job_group = #{jobGroup}
  201. </if>
  202. <if test="jobId gt 0">
  203. AND t.job_id = #{jobId}
  204. </if>
  205. </trim>
  206. ORDER BY t.trigger_time desc
  207. LIMIT 0, #{clearBeforeNum}
  208. ) t1
  209. )
  210. </if>
  211. </trim>
  212. order by id asc
  213. LIMIT #{pagesize}
  214. </select>
  215. <delete id="clearLog">
  216. delete from xxl_job_log
  217. WHERE id in
  218. <foreach collection="logIds" item="item" open="(" close=")" separator=",">
  219. #{item}
  220. </foreach>
  221. </delete>
  222. <select id="findFailJobLogIds" resultType="long">
  223. SELECT id
  224. FROM `xxl_job_log`
  225. WHERE !(
  226. (trigger_code in (0
  227. , 200) and handle_code = 0)
  228. OR
  229. (handle_code = 200)
  230. )
  231. AND `alarm_status`= 0
  232. ORDER BY id ASC
  233. LIMIT #{pagesize}
  234. </select>
  235. <update id="updateAlarmStatus">
  236. UPDATE xxl_job_log
  237. SET
  238. `alarm_status`= #{newAlarmStatus}
  239. WHERE `id`= #{logId} AND`alarm_status`= #{oldAlarmStatus}
  240. </update>
  241. <select id="findLostJobIds" resultType="long">
  242. SELECT t.id
  243. FROM xxl_job_log t
  244. LEFT JOIN xxl_job_registry t2 ON t.executor_address = t2.registry_value
  245. WHERE t.trigger_code = 200
  246. AND t.handle_code = 0
  247. AND t.trigger_time <![CDATA[ <= ]]> #{losedTime}
  248. AND t2.id IS NULL;
  249. </select>
  250. <!--
  251. SELECT t.id
  252. FROM xxl_job_log AS t
  253. WHERE t.trigger_code = 200
  254. and t.handle_code = 0
  255. and t.trigger_time <![CDATA[ <= ]]> #{losedTime}
  256. and t.executor_address not in (
  257. SELECT t2.registry_value
  258. FROM xxl_job_registry AS t2
  259. )
  260. -->
  261. </mapper>