From 8ac34cbae4ea8cc47194f51389a4e2dddebcc7d5 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 02 Apr 2026 13:55:20 +0800
Subject: [PATCH] opt: sql改造其他模块改造7

---
 drone-service/drone-system/src/main/java/org/sxkj/system/mapper/UserMapper.xml |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/UserMapper.xml b/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/UserMapper.xml
index beac3f5..12b7415 100644
--- a/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/UserMapper.xml
+++ b/drone-service/drone-system/src/main/java/org/sxkj/system/mapper/UserMapper.xml
@@ -30,25 +30,35 @@
 
     <!--用户自定义列表查询(不展示 admin 超级管理员账号)-->
     <select id="selectUserPage" resultMap="userResultMap">
-        select * from blade_user where is_deleted = 0
-        and id != 1123598821738675201
+        SELECT
+        u.*,
+        string_agg(r.id::varchar, ',') AS roleId
+        FROM blade_user u
+        INNER JOIN blade_role r
+        ON r.id::varchar = ANY(string_to_array(u.role_id, ','))
+        AND r.is_deleted = 0
+        WHERE u.is_deleted = 0
+        and u.id != 1123598821738675201
         <if test="tenantId!=null and tenantId != ''">
-            and tenant_id = #{tenantId}
+            and u.tenant_id = #{tenantId}
         </if>
         <if test="user.tenantId!=null and user.tenantId != ''">
-            and tenant_id = #{user.tenantId}
+            and u.tenant_id = #{user.tenantId}
         </if>
         <if test="user.account!=null and user.account != ''">
-            and account = #{user.account}
+            and u.account = #{user.account}
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and real_name = #{user.realName}
+            and u.real_name = #{user.realName}
         </if>
         <if test="user.userType!=null and user.userType != ''">
-            and user_type = #{user.userType}
+            and u.user_type = #{user.userType}
+        </if>
+        <if test="user.sysType!=null and user.sysType != ''">
+            and r.sys_type = #{user.sysType}
         </if>
         <if test="deptIdList!=null and deptIdList.size>0">
-            and id in (
+            and u.id in (
             SELECT
             user_id
             FROM
@@ -60,7 +70,8 @@
             </foreach>
             )
         </if>
-        ORDER BY id
+        GROUP BY u.id
+        ORDER BY u.id
     </select>
 
     <select id="getUser" resultMap="userResultMap">

--
Gitblit v1.9.3