gtsoft-snail-job-server/snail-job-datasource/snail-job-postgres-datasource/src/main/resources/postgresql/mapper/RetryTaskMapper.xml

33 lines
1.6 KiB
XML
Raw Normal View History

2023-01-14 21:02:18 +08:00
<?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">
2024-04-16 15:03:26 +08:00
<mapper namespace="com.aizuda.snailjob.template.datasource.persistence.mapper.RetryTaskMapper">
2024-05-13 23:36:20 +08:00
<!-- 定义批量新增的 SQL 映射 -->
<insert id="insertBatch" parameterType="java.util.List">
2024-05-13 23:36:20 +08:00
INSERT INTO sj_retry_task (namespace_id, unique_id, group_name, scene_name,
2024-05-20 23:39:11 +08:00
idempotent_id, biz_no, executor_name, args_str, ext_attrs,
next_trigger_at, task_type, retry_status, create_dt)
2024-05-13 23:36:20 +08:00
VALUES
<foreach collection="list" item="item" separator=",">
(
2024-05-20 23:39:11 +08:00
#{item.namespaceId}, #{item.uniqueId}, #{item.groupName},
#{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr},
#{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt}
2024-05-13 23:36:20 +08:00
)
</foreach>
</insert>
<update id="updateBatchNextTriggerAtById" parameterType="java.util.List">
UPDATE sj_retry_task_${partition} AS rt
2024-05-20 23:39:11 +08:00
SET next_trigger_at = tt.next_trigger_at
FROM (
<foreach collection="list" item="item" index="index" separator="UNION ALL">
SELECT
2024-05-21 12:54:48 +08:00
#{item.id} AS id,
#{item.nextTriggerAt} AS next_trigger_at
2024-05-20 23:39:11 +08:00
</foreach>
) AS tt
WHERE rt.id = tt.id
2024-05-13 23:36:20 +08:00
</update>
2023-01-14 20:47:58 +08:00
</mapper>