From 8585b431e9257333413358eb37c30ae58f74db76 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 13 Aug 2026 15:46:10 +0800
Subject: [PATCH] refactor(database): 优化数据库查询中的字段映射

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml |   28 +++++++++++-----------------
 1 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
index 3d36ac7..95ae3e2 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideExtMapper.xml
@@ -8,15 +8,20 @@
         <result column="area_divide_id" property="areaDivideId"/>
         <result column="area_type_key" property="areaTypeKey"/>
         <result column="area_type_value" property="areaTypeValue"/>
-        <result column="geom" property="geom"/>
+        <result column="geom_json" property="geomJson"/>
         <result column="area_code" property="areaCode"/>
     </resultMap>
+
+    <select id="getByAreaDivideId" resultMap="fwAreaDivideExtResultMap">
+        select
+            *
+        from ja_fw_area_divide_ext where is_deleted = 0 and area_divide_id = #{areaDivideId}
+    </select>
 
 
     <select id="selectFwAreaDivideExtPage" resultMap="fwAreaDivideExtResultMap">
         select * from ja_fw_area_divide_ext where is_deleted = 0
     </select>
-
 
     <select id="exportFwAreaDivideExt" resultType="org.sxkj.fw.area.excel.FwAreaDivideExtExcel">
         SELECT * FROM ja_fw_area_divide_ext ${ew.customSqlSegment}
@@ -27,7 +32,7 @@
             area_divide_id,
             area_type_key,
             area_type_value,
-            geom,
+            geom_json,
             area_code,
             create_user,
             create_dept,
@@ -42,26 +47,15 @@
                 #{item.areaDivideId},
                 #{item.areaTypeKey},
                 #{item.areaTypeValue},
-                <choose>
-                    <when test="item.geom != null and item.geom != ''">
-                        case
-                            when instr(#{item.geom}, '|') &gt; 0 then ST_SRID(
-                                ST_GeomFromText(trim(substring_index(#{item.geom}, '|', 1))),
-                                cast(trim(substring_index(#{item.geom}, '|', -1)) as unsigned)
-                            )
-                            else ST_GeomFromText(trim(#{item.geom}))
-                        end
-                    </when>
-                    <otherwise>null</otherwise>
-                </choose>,
+                #{item.geomJson},
                 #{item.areaCode},
                 #{item.createUser},
                 #{item.createDept},
                 #{item.createTime},
                 #{item.updateUser},
                 #{item.updateTime},
-                IFNULL(#{item.status}, '0'),
-                IFNULL(#{item.isDeleted}, 0)
+            COALESCE(#{item.status}, '0'),
+            COALESCE(#{item.isDeleted}, 0)
             )
         </foreach>
     </insert>

--
Gitblit v1.9.3