From 3f43e40ed1a1e9f66b3ad2862da9dbc4b710c712 Mon Sep 17 00:00:00 2001
From: nishiwei <13126973358@163.com>
Date: Fri, 23 Oct 2026 14:09:47 +0800
Subject: [PATCH] 智云3.0机场1适配内容提交

---
 ard-work/src/main/resources/mapper/ArdMediaPicMapper.xml |   81 ++++++++++++++++++++++++++++------------
 1 files changed, 56 insertions(+), 25 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/ArdMediaPicMapper.xml b/ard-work/src/main/resources/mapper/ArdMediaPicMapper.xml
index 40379b9..986ade0 100644
--- a/ard-work/src/main/resources/mapper/ArdMediaPicMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdMediaPicMapper.xml
@@ -18,19 +18,25 @@
         <result property="captureTime" column="capture_time"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
+        <result property="syncStatus" column="sync_status"/>
     </resultMap>
 
     <!-- 查询图片列表 -->
     <select id="selectPicList" resultMap="ArdMediaPicResult">
-        SELECT
-        id, task_id, file_size, file_md5, media_url, source_url,
-        longitude, latitude, height, capture_time, create_time, update_time
+        SELECT *
         FROM ard_media_pic
         <where>
             <if test="taskId != null">AND task_id = #{taskId}</if>
-            <if test="fileMd5 != null">AND file_md5 = #{fileMd5}</if>
+            <if test="syncStatus != null">AND sync_status = #{syncStatus}</if>
         </where>
         ORDER BY capture_time DESC
+    </select>
+    <!-- 查询待处理的图片 -->
+    <select id="selectPendingPics" resultMap="ArdMediaPicResult">
+        SELECT *
+        FROM ard_media_pic
+        WHERE sync_status = 0
+        ORDER BY id LIMIT #{limit}
     </select>
 
     <!-- 根据任务ID查询图片 -->
@@ -40,38 +46,63 @@
     </select>
 
     <!-- 插入图片 -->
-    <insert id="insertPic" parameterType="com.ard.work.domain.entity.ArdMediaPic">
+    <insert id="insertPic" parameterType="ArdMediaPic">
         INSERT INTO ard_media_pic (
             id, task_id, file_size, file_md5,
             media_url, source_url,
             longitude, latitude, height,
-            capture_time, create_time
+            capture_time, create_time,sync_status
         ) VALUES (
                      #{id}, #{taskId}, #{fileSize}, #{fileMd5},
                      #{mediaUrl}, #{sourceUrl},
                      #{longitude}, #{latitude}, #{height},
-                     #{captureTime}, #{createTime}
+                     #{captureTime}, #{createTime},0
                  )
     </insert>
 
-    <!-- 批量插入图片 -->
-    <insert id="insertPicList">
-        INSERT INTO ard_media_pic (
-        id, task_id, file_size, file_md5,
-        media_url, source_url,
-        longitude, latitude, height,
-        capture_time, create_time
-        )
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.id}, #{item.taskId}, #{item.fileSize}, #{item.fileMd5},
-            #{item.mediaUrl}, #{item.sourceUrl},
-            #{item.longitude}, #{item.latitude}, #{item.height},
-            #{item.captureTime}, #{item.createTime}
-            )
-        </foreach>
-    </insert>
+    <!-- 更新图片(按需补全字段) -->
+    <update id="updatePic" parameterType="ArdMediaPic">
+        UPDATE ard_media_pic
+        <set>
+            <if test="mediaUrl != null">
+                media_url = #{mediaUrl},
+            </if>
+            <if test="fileSize != null">
+                file_size = #{fileSize},
+            </if>
+            <if test="fileMd5 != null">
+                file_md5 = #{fileMd5},
+            </if>
+            <if test="captureTime != null">
+                capture_time = #{captureTime},
+            </if>
+            <if test="longitude != null">
+                longitude = #{longitude},
+            </if>
+            <if test="latitude != null">
+                latitude = #{latitude},
+            </if>
+            <if test="height != null">
+                height = #{height},
+            </if>
+            <if test="syncStatus != null">
+                sync_status = #{syncStatus},
+            </if>
+            update_time = #{updateTime}
+        </set>
+        WHERE id = #{id}
+    </update>
+
+    <!-- 标记为处理中 -->
+    <update id="markProcessing">
+        UPDATE ard_media_pic SET sync_status = 1 WHERE id = #{id} AND sync_status = 0
+    </update>
+    <!-- 更新同步状态 -->
+    <update id="updateSyncStatus">
+        UPDATE ard_media_pic
+        SET sync_status = #{status},update_time = NOW()
+        WHERE id = #{id}
+    </update>
 
     <delete id="deletePicById">
         DELETE FROM ard_media_pic WHERE id = #{id}

--
Gitblit v1.9.3