LiveAutoTaskMapper.xml 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.fs.live.mapper.LiveAutoTaskMapper">
  6. <resultMap type="LiveAutoTask" id="LiveAutoTaskResult">
  7. <result property="id" column="id" />
  8. <result property="liveId" column="live_id" />
  9. <result property="taskName" column="task_name" />
  10. <result property="taskType" column="task_type" />
  11. <result property="triggerType" column="trigger_type" />
  12. <result property="triggerValue" column="trigger_value" />
  13. <result property="absValue" column="abs_value" />
  14. <result property="content" column="content" />
  15. <result property="status" column="status" />
  16. <result property="createTime" column="create_time" />
  17. <result property="updateTime" column="update_time" />
  18. <result property="finishStatus" column="finish_status" />
  19. </resultMap>
  20. <sql id="selectLiveAutoTaskVo">
  21. select id, live_id, task_name, task_type, trigger_type, trigger_value, content, status, create_time, update_time,abs_value,finish_status from live_auto_task
  22. </sql>
  23. <select id="selectLiveAutoTaskList" parameterType="LiveAutoTask" resultMap="LiveAutoTaskResult">
  24. <include refid="selectLiveAutoTaskVo"/>
  25. <where>
  26. task_type != 3
  27. <if test="liveId != null "> and live_id = #{liveId}</if>
  28. <if test="taskName != null and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
  29. <if test="triggerType != null "> and trigger_type = #{triggerType}</if>
  30. <if test="triggerValue != null"> and trigger_value = #{triggerValue}</if>
  31. <if test="absValue != null"> and abs_value = #{absValue}</if>
  32. <if test="taskType != null"> and task_type = #{taskType}</if>
  33. <if test="content != null and content != ''"> and content = #{content}</if>
  34. <if test="status != null "> and status = #{status}</if>
  35. <if test="createTime != null "> and create_time = #{createTime}</if>
  36. <if test="updateTime != null "> and update_time = #{updateTime}</if>
  37. <if test="finishStatus != null "> and finish_status = #{finishStatus}</if>
  38. </where>
  39. </select>
  40. <select id="selectLiveAutoTaskConsoleList" parameterType="LiveAutoTask" resultMap="LiveAutoTaskResult">
  41. <include refid="selectLiveAutoTaskVo"/>
  42. <where>
  43. <if test="liveId != null "> and live_id = #{liveId}</if>
  44. <if test="taskName != null and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
  45. <if test="triggerType != null "> and trigger_type = #{triggerType}</if>
  46. <if test="triggerValue != null"> and trigger_value = #{triggerValue}</if>
  47. <if test="absValue != null"> and abs_value = #{absValue}</if>
  48. <if test="content != null and content != ''"> and content = #{content}</if>
  49. <if test="status != null "> and status = #{status}</if>
  50. <if test="createTime != null "> and create_time = #{createTime}</if>
  51. <if test="updateTime != null "> and update_time = #{updateTime}</if>
  52. <if test="finishStatus != null "> and finish_status = #{finishStatus}</if>
  53. </where>
  54. </select>
  55. <select id="selectLiveAutoTaskById" parameterType="Long" resultMap="LiveAutoTaskResult">
  56. <include refid="selectLiveAutoTaskVo"/>
  57. where id = #{id}
  58. </select>
  59. <insert id="insertLiveAutoTask" parameterType="LiveAutoTask" useGeneratedKeys="true" keyProperty="id">
  60. insert into live_auto_task
  61. <trim prefix="(" suffix=")" suffixOverrides=",">
  62. <if test="liveId != null">live_id,</if>
  63. <if test="taskName != null and taskName != ''">task_name,</if>
  64. <if test="taskType != null">task_type,</if>
  65. <if test="triggerType != null">trigger_type,</if>
  66. <if test="triggerValue != null">trigger_value,</if>
  67. <if test="absValue != null">abs_value,</if>
  68. <if test="content != null">content,</if>
  69. <if test="status != null">status,</if>
  70. <if test="createTime != null">create_time,</if>
  71. <if test="updateTime != null">update_time,</if>
  72. <if test="finishStatus != null">finish_status,</if>
  73. </trim>
  74. <trim prefix="values (" suffix=")" suffixOverrides=",">
  75. <if test="liveId != null">#{liveId},</if>
  76. <if test="taskName != null and taskName != ''">#{taskName},</if>
  77. <if test="taskType != null">#{taskType},</if>
  78. <if test="triggerType != null">#{triggerType},</if>
  79. <if test="triggerValue != null">#{triggerValue},</if>
  80. <if test="absValue != null">#{absValue},</if>
  81. <if test="content != null">#{content},</if>
  82. <if test="status != null">#{status},</if>
  83. <if test="createTime != null">#{createTime},</if>
  84. <if test="updateTime != null">#{updateTime},</if>
  85. <if test="finishStatus != null">#{finishStatus},</if>
  86. </trim>
  87. </insert>
  88. <update id="updateLiveAutoTask" parameterType="LiveAutoTask">
  89. update live_auto_task
  90. <trim prefix="SET" suffixOverrides=",">
  91. <if test="liveId != null">live_id = #{liveId},</if>
  92. <if test="taskName != null and taskName != ''">task_name = #{taskName},</if>
  93. <if test="taskType != null">task_type = #{taskType},</if>
  94. <if test="triggerType != null">trigger_type = #{triggerType},</if>
  95. <if test="triggerValue != null">trigger_value = #{triggerValue},</if>
  96. <if test="absValue != null">abs_value = #{absValue},</if>
  97. <if test="content != null">content = #{content},</if>
  98. <if test="status != null">status = #{status},</if>
  99. <if test="createTime != null">create_time = #{createTime},</if>
  100. <if test="updateTime != null">update_time = #{updateTime},</if>
  101. <if test="finishStatus != null">finish_status = #{finishStatus},</if>
  102. </trim>
  103. where id = #{id}
  104. </update>
  105. <delete id="deleteLiveAutoTaskById" parameterType="Long">
  106. delete from live_auto_task where id = #{id}
  107. </delete>
  108. <delete id="deleteLiveAutoTaskByIds" parameterType="String">
  109. delete from live_auto_task where id in
  110. <foreach item="id" collection="array" open="(" separator="," close=")">
  111. #{id}
  112. </foreach>
  113. </delete>
  114. <select id="selectLiveAutoTaskByLiveIds" resultMap="LiveAutoTaskResult">
  115. select * from live_auto_task where live_id in
  116. <foreach item="id" collection="liveIdLists" open="(" separator="," close=")">
  117. #{id}
  118. </foreach>
  119. and status=1 and finish_status = 0 and abs_value>#{now} order by abs_value
  120. </select>
  121. <insert id="batchInsertLiveAutoTask" parameterType="java.util.List">
  122. INSERT INTO live_auto_task (
  123. live_id,
  124. task_name,
  125. task_type,
  126. trigger_type,
  127. trigger_value,
  128. abs_value,
  129. content,
  130. status,
  131. finish_status,
  132. create_time,
  133. update_time
  134. )
  135. VALUES
  136. <foreach collection="list" item="task" separator=",">
  137. (
  138. #{task.liveId},
  139. #{task.taskName},
  140. #{task.taskType},
  141. #{task.triggerType},
  142. #{task.triggerValue},
  143. #{task.absValue},
  144. #{task.content},
  145. #{task.status},
  146. #{task.finishStatus},
  147. #{task.createTime},
  148. #{task.updateTime}
  149. )
  150. </foreach>
  151. </insert>
  152. <!-- 批量更新直播间自动化任务 -->
  153. <update id="batchUpdateLiveAutoTask">
  154. <foreach collection="list" item="task" separator=";">
  155. UPDATE live_auto_task
  156. <set>
  157. <!-- 1. 按需添加需更新的字段,非必更新字段用 if 判断(避免更新为 null) -->
  158. <if test="task.liveId != null">live_id = #{task.liveId},</if>
  159. <if test="task.taskName != null and task.taskName != ''">task_name = #{task.taskName},</if>
  160. <if test="task.taskType != null">task_type = #{task.taskType},</if>
  161. <if test="task.triggerType != null">trigger_type = #{task.triggerType},</if>
  162. <if test="task.triggerValue != null">trigger_value = #{task.triggerValue},</if>
  163. <if test="task.absValue != null">abs_value = #{task.absValue},</if>
  164. <if test="task.content != null and task.content != ''">content = #{task.content},</if>
  165. <if test="task.status != null">status = #{task.status},</if>
  166. <if test="task.finishStatus != null">finish_status = #{task.finishStatus},</if>
  167. <!-- 2. 若有更新时间字段,自动填充当前时间 -->
  168. update_time = NOW()
  169. </set>
  170. <!-- 3. 必须通过主键 id 定位数据(批量更新的核心) -->
  171. WHERE id = #{task.id}
  172. </foreach>
  173. </update>
  174. </mapper>