‘liusuyi’
2023-09-21 99a76ca58268ea1258212ecfb814860d82870758
ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -6,6 +6,7 @@
    <resultMap type="ArdAppTask" id="ArdAppTaskResult">
        <result property="id" column="id"/>
        <result property="type" column="type"/>
        <result property="name" column="name"/>
        <result property="text" column="text"/>
        <result property="voice" column="voice"/>
@@ -27,7 +28,12 @@
        <!--        <collection property="ardAppTaskDetailList" notNullColumn="sub1_id" javaType="java.util.List"-->
        <!--                    resultMap="ArdAppTaskDetailResult"/>-->
    </resultMap>
    <resultMap id="ArdAppTaskSub1Result" type="ArdAppTask" extends="ArdAppTaskResult">
        <collection property="ardAppTaskPicList" notNullColumn="sub2_id" javaType="java.util.List"
                    resultMap="ArdAppTaskPicResult"/>
        <collection property="ardAppTaskDetailList" notNullColumn="sub1_id" javaType="java.util.List"
                    resultMap="ArdAppTaskDetailResult"/>
    </resultMap>
    <resultMap type="ArdAppTaskDetail" id="ArdAppTaskDetailResult">
        <result property="id" column="sub1_id"/>
        <result property="name" column="sub1_name"/>
@@ -53,6 +59,7 @@
    <sql id="selectArdAppTaskVo">
        select c.id,
               c.type,
               c.name,
               c.text,
               c.voice,
@@ -68,6 +75,7 @@
    </sql>
    <sql id="selectArdAppTaskDto">
        select a.id,
               a.type,
               a.name,
               a.text,
               a.voice,
@@ -93,7 +101,8 @@
               c.view_time        as sub1_view_time,
               c.view_position    as sub1_view_position,
               c.clock_in_time    as sub1_clock_in_time,
               c.view_flag        as sub1_view_flag
               c.view_flag        as sub1_view_flag,
               c.task_id          as sub1_task_id
        from ard_app_task a
                 left join ard_app_task_pic b on b.task_id = a.id
                 left join ard_app_task_detail c on c.task_id = a.id
@@ -102,6 +111,7 @@
    <select id="selectArdAppTaskList" parameterType="ArdAppTask" resultMap="ArdAppTaskResult">
        <include refid="selectArdAppTaskVo"/>
        <where>
            <if test="type != null  and type != ''">and c.type = #{type}</if>
            <if test="name != null  and name != ''">and c.name like '%'||#{name}||'%'</if>
            <if test="text != null  and text != ''">and c.text = #{text}</if>
            <if test="voice != null  and voice != ''">and c.voice = #{voice}</if>
@@ -113,6 +123,7 @@
            </if>
            <if test="userId != null  and userId != ''">and c.user_id = #{userId}</if>
        </where>
        order by c.create_time desc
    </select>
    <select id="selectArdAppTaskListWithDetail" parameterType="ArdAppTask" resultMap="ArdAppTaskSubResult">
@@ -152,24 +163,37 @@
            </if>
        </where>
    </select>
    <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult">
    <select id="selectArdAppTaskDetailListByTaskId" resultType="ArdAppTaskDetail">
        select * from ard_app_task_detail where task_id=#{taskId}
    </select>
    <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSub1Result">
        <include refid="selectArdAppTaskDto"/>
        where a.id = #{id}
    </select>
    <select id="selectArdAppTaskDetailListByIdAndUserId" resultType="ArdAppTaskDetail">
        select * from ard_app_task_detail d
        where d.task_id = #{id} and d.user_id = #{detailUserId}
        select *
        from ard_app_task_detail d
        where d.task_id = #{id}
          and d.user_id = #{detailUserId}
    </select>
    <select id="selectArdAppTaskPicListById" resultType="ArdAppTaskPic">
        select * from ard_app_task_pic d where d.task_id = #{id}
        select *
        from ard_app_task_pic d
        where d.task_id = #{id}
    </select>
    <select id="selectArdAppTaskDetailUserIdsByTaskId" parameterType="String" resultType="java.lang.String">
        select DISTINCT(user_id)
        from ard_app_task_detail
        where task_id = #{taskId}
    </select>
    <insert id="insertArdAppTask" parameterType="ArdAppTask">
        insert into ard_app_task
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="type != null">type,</if>
            <if test="name != null">name,</if>
            <if test="text != null">text,</if>
            <if test="voice != null">voice,</if>
@@ -182,6 +206,7 @@
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="type != null">#{type},</if>
            <if test="name != null">#{name},</if>
            <if test="text != null">#{text},</if>
            <if test="voice != null">#{voice},</if>
@@ -197,6 +222,7 @@
    <update id="updateArdAppTask" parameterType="ArdAppTask">
        update ard_app_task
        <trim prefix="SET" suffixOverrides=",">
            <if test="type != null">type = #{type},</if>
            <if test="name != null">name = #{name},</if>
            <if test="text != null">text = #{text},</if>
            <if test="voice != null">voice = #{voice},</if>
@@ -321,15 +347,15 @@
        from ard_app_task_detail c
        where c.id = #{id}
    </select>
    <select id="selectNewArdAppTaskByUserId" parameterType="String" resultMap="ArdAppTaskSubResult">
    <select id="selectNewArdAppTaskByUserId" parameterType="String" resultMap="ArdAppTaskSub1Result">
        <include refid="selectArdAppTaskDto"/>
        where c.user_id = #{userId} AND c.view_flag is null
        order by create_time desc limit 1
    </select>
    <select id="selectUnreadArdAppTaskCount" resultType="Integer">
        SELECT COUNT(A.ID)
        SELECT COUNT(DISTINCT A.ID)
        FROM ard_app_task A
                 LEFT JOIN ard_app_task_detail C ON C.task_id = A.ID
        LEFT JOIN ard_app_task_detail C ON C.task_id = A.ID
        WHERE C.view_time IS NULL
          AND C.view_flag = '1'
          AND C.user_id = #{userId}