From 690b5ff07ace78fa1f3f4fa1b0508481cf182919 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 31 七月 2023 11:09:02 +0800
Subject: [PATCH] 修复单兵端 - 下发给我的任务列表分页问题

---
 ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml |   72 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 21 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
index 61ed850..c4c8c84 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -15,8 +15,6 @@
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
-        <result property="viewTime" column="view_time"/>
-        <result property="viewPosition" column="view_position"/>
     </resultMap>
     <resultMap id="ArdAppTaskSubResult" type="ArdAppTask" extends="ArdAppTaskResult">
         <collection property="ardAppTaskPicList" notNullColumn="sub2_id" javaType="java.util.List"
@@ -38,6 +36,8 @@
         <result property="clockInPicUrl" column="sub1_clock_in_pic_url"/>
         <result property="viewTime" column="sub1_view_time"/>
         <result property="viewPosition" column="sub1_view_position"/>
+        <result property="clockInTime" column="sub1_clock_in_time"/>
+        <result property="viewFlag" column="sub1_view_flag"/>
     </resultMap>
     <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult">
         <result property="id" column="sub2_id"/>
@@ -81,23 +81,23 @@
                a.create_time,
                a.update_by,
                a.update_time,
-               a.view_time,
-               a.view_position,
-               b.id as sub2_id,
-               b.task_id as sub2_task_id,
-               b.pic_url as sub2_pic_url,
-               c.id as sub1_id,
-               c.name as sub1_name,
-               c.longitude as sub1_longitude,
-               c.latitude as sub1_latitude,
-               c.altitude as sub1_altitude,
-               c.user_id as sub1_user_id,
-               c.text as sub1_text,
-               c.voice as sub1_voice,
-               c.status as sub1_status,
+               b.id               as sub2_id,
+               b.task_id          as sub2_task_id,
+               b.pic_url          as sub2_pic_url,
+               c.id               as sub1_id,
+               c.name             as sub1_name,
+               c.longitude        as sub1_longitude,
+               c.latitude         as sub1_latitude,
+               c.altitude         as sub1_altitude,
+               c.user_id          as sub1_user_id,
+               c.text             as sub1_text,
+               c.voice            as sub1_voice,
+               c.status           as sub1_status,
                c.clock_in_pic_url as sub1_clock_in_pic_url,
-               c.view_time as sub1_view_time,
-               c.view_position as sub1_view_position
+               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
         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
@@ -132,6 +132,7 @@
                 and a.create_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
             </if>
         </where>
+        order by a.create_time desc
     </select>
     <select id="selectArdAppTaskListWithDetailById" parameterType="ArdAppTask" resultMap="ArdAppTaskSubResult">
         <include refid="selectArdAppTaskDto"/>
@@ -196,8 +197,6 @@
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
-            <if test="viewTime != null">view_time = #{viewTime},</if>
-            <if test="viewPosition != null">view_position = #{viewPosition},</if>
         </trim>
         where id = #{id}
     </update>
@@ -265,9 +264,26 @@
             <if test="text != null">text = #{text},</if>
             <if test="voice != null">voice = #{voice},</if>
             <if test="viewTime != null">view_time = #{viewTime},</if>
-            <if test="viewPosition != null">view_position = #{vviewPosition},</if>
+            <if test="viewFlag != null">view_flag = #{viewFlag},</if>
+            <if test="viewPosition != null">view_position = #{viewPosition},</if>
+            <if test="clockInTime != null">clock_in_time = #{clockInTime},</if>
+            <if test="taskId != null">task_id = #{taskId},</if>
         </trim>
         where id = #{id}
+    </update>
+    <update id="updateArdAppTaskDetailByTaskId" parameterType="ArdAppTaskDetail">
+        update ard_app_task_detail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="viewFlag != null">view_flag = #{viewFlag},</if>
+        </trim>
+        where task_id = #{taskId}
+    </update>
+    <update id="updateArdAppTaskDetailView" parameterType="ArdAppTaskDetail">
+        update ard_app_task_detail
+        set view_time=#{viewTime},
+            view_position=#{viewPosition}
+        where task_id = #{taskId}
+          and user_id = #{userId}
     </update>
     <insert id="batchArdAppTaskDetailPic">
         insert into ard_app_task_detail_pic( id, task_detail_id, pic_url) values
@@ -296,4 +312,18 @@
         from ard_app_task_detail c
         where c.id = #{id}
     </select>
+    <select id="selectNewArdAppTaskByUserId" parameterType="String" resultMap="ArdAppTaskSubResult">
+        <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 )
+        FROM ard_app_task
+        A 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}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3