XxlJobInfoMapper.xml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  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.XxlJobInfoDao">
  5. <resultMap id="XxlJobInfo" type="com.xxl.job.admin.core.model.XxlJobInfo">
  6. <result column="id" property="id"/>
  7. <result column="job_group" property="jobGroup"/>
  8. <result column="job_desc" property="jobDesc"/>
  9. <result column="add_time" property="addTime"/>
  10. <result column="update_time" property="updateTime"/>
  11. <result column="author" property="author"/>
  12. <result column="alarm_email" property="alarmEmail"/>
  13. <result column="schedule_type" property="scheduleType"/>
  14. <result column="schedule_conf" property="scheduleConf"/>
  15. <result column="misfire_strategy" property="misfireStrategy"/>
  16. <result column="executor_route_strategy" property="executorRouteStrategy"/>
  17. <result column="executor_handler" property="executorHandler"/>
  18. <result column="executor_param" property="executorParam"/>
  19. <result column="executor_block_strategy" property="executorBlockStrategy"/>
  20. <result column="executor_timeout" property="executorTimeout"/>
  21. <result column="executor_fail_retry_count" property="executorFailRetryCount"/>
  22. <result column="glue_type" property="glueType"/>
  23. <result column="glue_source" property="glueSource"/>
  24. <result column="glue_remark" property="glueRemark"/>
  25. <result column="glue_updatetime" property="glueUpdatetime"/>
  26. <result column="child_jobid" property="childJobId"/>
  27. <result column="trigger_status" property="triggerStatus"/>
  28. <result column="trigger_last_time" property="triggerLastTime"/>
  29. <result column="trigger_next_time" property="triggerNextTime"/>
  30. </resultMap>
  31. <sql id="Base_Column_List">
  32. t.id,
  33. t.job_group,
  34. t.job_desc,
  35. t.add_time,
  36. t.update_time,
  37. t.author,
  38. t.alarm_email,
  39. t.schedule_type,
  40. t.schedule_conf,
  41. t.misfire_strategy,
  42. t.executor_route_strategy,
  43. t.executor_handler,
  44. t.executor_param,
  45. t.executor_block_strategy,
  46. t.executor_timeout,
  47. t.executor_fail_retry_count,
  48. t.glue_type,
  49. t.glue_source,
  50. t.glue_remark,
  51. t.glue_updatetime,
  52. t.child_jobid,
  53. t.trigger_status,
  54. t.trigger_last_time,
  55. t.trigger_next_time
  56. </sql>
  57. <select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
  58. SELECT
  59. <include refid="Base_Column_List"/>
  60. FROM xxl_job_info t
  61. <trim prefix="WHERE" prefixOverrides="AND | OR">
  62. <if test="jobGroup gt 0">
  63. AND t.job_group = #{jobGroup}
  64. </if>
  65. <if test="triggerStatus gte 0">
  66. AND t.trigger_status = #{triggerStatus}
  67. </if>
  68. <if test="jobDesc != null and jobDesc != ''">
  69. AND t.job_desc like CONCAT(CONCAT('%', #{jobDesc}), '%')
  70. </if>
  71. <if test="executorHandler != null and executorHandler != ''">
  72. AND t.executor_handler like CONCAT(CONCAT('%', #{executorHandler}), '%')
  73. </if>
  74. <if test="author != null and author != ''">
  75. AND t.author like CONCAT(CONCAT('%', #{author}), '%')
  76. </if>
  77. </trim>
  78. ORDER BY id DESC
  79. OFFSET #{offset} ROWS FETCH NEXT #{pagesize} ROWS ONLY
  80. </select>
  81. <select id="pageListCount" parameterType="java.util.HashMap" resultType="int">
  82. SELECT count(1)
  83. FROM xxl_job_info t
  84. <trim prefix="WHERE" prefixOverrides="AND | OR">
  85. <if test="jobGroup gt 0">
  86. AND t.job_group = #{jobGroup}
  87. </if>
  88. <if test="triggerStatus gte 0">
  89. AND t.trigger_status = #{triggerStatus}
  90. </if>
  91. <if test="jobDesc != null and jobDesc != ''">
  92. AND t.job_desc like CONCAT(CONCAT('%', #{jobDesc}), '%')
  93. </if>
  94. <if test="executorHandler != null and executorHandler != ''">
  95. AND t.executor_handler like CONCAT(CONCAT('%', #{executorHandler}), '%')
  96. </if>
  97. <if test="author != null and author != ''">
  98. AND t.author like CONCAT(CONCAT('%', #{author}), '%')
  99. </if>
  100. </trim>
  101. </select>
  102. <insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobInfo" useGeneratedKeys="false">
  103. <selectKey keyProperty="id" resultType="int" order="BEFORE">
  104. select info_sequence.nextval from dual
  105. </selectKey>
  106. INSERT INTO xxl_job_info (
  107. id,
  108. job_group,
  109. job_desc,
  110. add_time,
  111. update_time,
  112. author,
  113. alarm_email,
  114. schedule_type,
  115. schedule_conf,
  116. misfire_strategy,
  117. executor_route_strategy,
  118. executor_handler,
  119. executor_param,
  120. executor_block_strategy,
  121. executor_timeout,
  122. executor_fail_retry_count,
  123. glue_type,
  124. glue_source,
  125. glue_remark,
  126. glue_updatetime,
  127. child_jobid,
  128. trigger_status,
  129. trigger_last_time,
  130. trigger_next_time
  131. ) VALUES (
  132. #{id},
  133. #{jobGroup},
  134. #{jobDesc},
  135. #{addTime},
  136. #{updateTime},
  137. #{author},
  138. #{alarmEmail},
  139. #{scheduleType},
  140. #{scheduleConf},
  141. #{misfireStrategy},
  142. #{executorRouteStrategy},
  143. #{executorHandler},
  144. #{executorParam},
  145. #{executorBlockStrategy},
  146. #{executorTimeout},
  147. #{executorFailRetryCount},
  148. #{glueType},
  149. #{glueSource},
  150. #{glueRemark},
  151. #{glueUpdatetime},
  152. #{childJobId},
  153. #{triggerStatus},
  154. #{triggerLastTime},
  155. #{triggerNextTime}
  156. )
  157. <!--<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
  158. SELECT LAST_INSERT_ID()
  159. /*SELECT @@IDENTITY AS id*/
  160. </selectKey>-->
  161. </insert>
  162. <select id="loadById" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
  163. SELECT
  164. <include refid="Base_Column_List"/>
  165. FROM xxl_job_info t
  166. WHERE t.id = #{id}
  167. </select>
  168. <update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobInfo">
  169. UPDATE xxl_job_info
  170. SET job_group = #{jobGroup},
  171. job_desc = #{jobDesc},
  172. update_time = #{updateTime},
  173. author = #{author},
  174. alarm_email = #{alarmEmail},
  175. schedule_type = #{scheduleType},
  176. schedule_conf = #{scheduleConf},
  177. misfire_strategy = #{misfireStrategy},
  178. executor_route_strategy = #{executorRouteStrategy},
  179. executor_handler = #{executorHandler},
  180. executor_param = #{executorParam},
  181. executor_block_strategy = #{executorBlockStrategy},
  182. executor_timeout = ${executorTimeout},
  183. executor_fail_retry_count = ${executorFailRetryCount},
  184. glue_type = #{glueType},
  185. glue_source = #{glueSource},
  186. glue_remark = #{glueRemark},
  187. glue_updatetime = #{glueUpdatetime},
  188. child_jobid = #{childJobId},
  189. trigger_status = #{triggerStatus},
  190. trigger_last_time = #{triggerLastTime},
  191. trigger_next_time = #{triggerNextTime}
  192. WHERE id = #{id}
  193. </update>
  194. <delete id="delete" parameterType="java.util.HashMap">
  195. DELETE
  196. FROM xxl_job_info
  197. WHERE id = #{id}
  198. </delete>
  199. <select id="getJobsByGroup" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
  200. SELECT
  201. <include refid="Base_Column_List"/>
  202. FROM xxl_job_info t
  203. WHERE t.job_group = #{jobGroup}
  204. </select>
  205. <select id="findAllCount" resultType="int">
  206. SELECT count(1)
  207. FROM xxl_job_info
  208. </select>
  209. <select id="scheduleJobQuery" parameterType="java.util.HashMap" resultMap="XxlJobInfo">
  210. SELECT
  211. <include refid="Base_Column_List"/>
  212. FROM xxl_job_info t
  213. WHERE t.trigger_status = 1
  214. and t.trigger_next_time <![CDATA[ <= ]]> #{maxNextTime}
  215. ORDER BY id ASC
  216. OFFSET 0 ROWS FETCH NEXT #{pagesize} ROWS ONLY
  217. </select>
  218. <update id="scheduleUpdate" parameterType="com.xxl.job.admin.core.model.XxlJobInfo">
  219. UPDATE xxl_job_info
  220. SET
  221. trigger_last_time = #{triggerLastTime},
  222. trigger_next_time = #{triggerNextTime}
  223. <if test="triggerStatus gte 0">
  224. , trigger_status = #{triggerStatus}
  225. </if>
  226. WHERE id = #{id}
  227. AND trigger_status = 1
  228. </update>
  229. </mapper>