From 51a551a7f8eae7654f973d45cd2fa2952774673d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 07 Aug 2026 10:56:55 +0800
Subject: [PATCH] perf(task): 优化巡查任务审核性能并添加详细日志记录

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/mapper/GdFlyerMapper.xml |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/mapper/GdFlyerMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/mapper/GdFlyerMapper.xml
index 4acd1e8..2f2a9c5 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/mapper/GdFlyerMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/mapper/GdFlyerMapper.xml
@@ -11,8 +11,10 @@
         <result column="project_experience" property="projectExperience"/>
         <result column="technical_strength" property="technicalStrength"/>
         <result column="skilled_uav_type" property="skilledUavType"/>
-        <result column="skilled_task_type" property="skilledTaskType"/>
+        <result column="skilled_task_type" property="skilledTaskType" typeHandler="org.sxkj.common.handler.GenericListTypeHandler"/>
         <result column="area_code" property="areaCode"/>
+        <result column="flyer_address" property="flyerAddress"/>
+        <result column="certification" property="certification" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
         <result column="create_user" property="createUser"/>
         <result column="create_dept" property="createDept"/>
         <result column="create_time" property="createTime"/>
@@ -22,9 +24,58 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
+    <resultMap id="gdFlyerVOResultMap" type="org.sxkj.gd.flyer.vo.GdFlyerVO">
+        <result column="id" property="id"/>
+        <result column="flyer_id" property="flyerId"/>
+        <result column="flyer_name" property="flyerName"/>
+        <result column="flyer_phone" property="flyerPhone"/>
+        <result column="flight_hours" property="flightHours"/>
+        <result column="project_experience" property="projectExperience"/>
+        <result column="technical_strength" property="technicalStrength"/>
+        <result column="skilled_uav_type" property="skilledUavType"/>
+        <result column="skilled_task_type" property="skilledTaskType" typeHandler="org.sxkj.common.handler.GenericListTypeHandler"/>
+        <result column="area_code" property="areaCode"/>
+        <result column="flyer_address" property="flyerAddress"/>
+        <result column="certification" property="certification" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
+        <result column="area_match_flag" property="areaMatchFlag"/>
+    </resultMap>
 
-    <select id="selectGdFlyerPage" resultMap="gdFlyerResultMap">
-        select * from ja_gd_flyer where is_deleted = 0
+    <select id="selectGdFlyerPage" resultMap="gdFlyerVOResultMap">
+        select
+            *,
+            CASE
+                WHEN CAST(#{param2.skilledTaskType} AS VARCHAR) IS NOT NULL
+                     AND CAST(#{param2.skilledTaskType} AS VARCHAR) != ''
+                     AND skilled_task_type = #{param2.skilledTaskType} THEN 1
+                ELSE 0
+            END as area_match_flag
+        from
+            ja_gd_flyer
+        <where>
+                is_deleted = 0
+            <if test="param2.flyerName != null and param2.flyerName != ''">
+                and flyer_name like concat('%',#{param2.flyerName},'%')
+            </if>
+            <if test="param2.flyerPhone != null and param2.flyerPhone != ''">
+                and flyer_phone like concat('%',#{param2.flyerPhone},'%')
+            </if>
+            <if test="param2.technicalStrength != null and param2.technicalStrength != ''">
+                and technical_strength = #{param2.technicalStrength}
+            </if>
+            <if test="param2.skilledUavType != null and param2.skilledUavType != ''">
+                and skilled_uav_type = #{param2.skilledUavType}
+            </if>
+            <!-- <if test="param2.skilledTaskType != null and param2.skilledTaskType != ''"> -->
+            <!--     and skilled_task_type = #{param2.skilledTaskType} -->
+            <!-- </if> -->
+            <!-- <if test="param2.deptList != null and param2.deptList.size > 0"> -->
+            <!--     AND create_dept in -->
+            <!--     <foreach collection="param2.deptList" item="deptId" open="(" separator="," close=")"> -->
+            <!--         #{deptId} -->
+            <!--     </foreach> -->
+            <!-- </if> -->
+        </where>
+        ORDER BY area_match_flag DESC, create_time DESC
     </select>
 
 

--
Gitblit v1.9.3