From 6804a0a824753404a19cdd005be89a3c5998f28a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Mon, 27 Apr 2026 07:20:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(database):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=A7=9F=E6=88=B7=E7=9B=B8=E5=85=B3SQL=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除嵌套子查询,改用子查询中取最小user_id方式关联管理员用户 - 简化管理员用户相关字段的查询逻辑,提升SQL可读性 - 直接关联sys_user表替代以前复杂多层嵌套结构 - 保持查询结果字段一致,避免影响现有功能使用 --- .../common/system/mapper/xml/TenantMapper.xml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/TenantMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/TenantMapper.xml index 6f770d0..2ca889e 100644 --- a/src/main/java/com/gxwebsoft/common/system/mapper/xml/TenantMapper.xml +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/TenantMapper.xml @@ -4,19 +4,15 @@ - SELECT a.*,b.company_name,b.company_logo as logo,b.admin_url,b.domain,b.free_domain,c.phone,c.username + SELECT a.*,b.company_name,b.company_logo as logo,b.admin_url,b.domain,b.free_domain, + u.phone,u.username FROM sys_tenant a LEFT JOIN sys_company b ON a.tenant_id = b.tenant_id - LEFT JOIN ( - SELECT tenant_id, phone, username - FROM ( - SELECT tenant_id, phone, username, - ROW_NUMBER() OVER(PARTITION BY tenant_id ORDER BY user_id) AS rn - FROM sys_user - WHERE is_admin = 1 AND deleted = 0 - ) t - WHERE rn = 1 - ) c ON a.tenant_id = c.tenant_id + LEFT JOIN sys_user u ON u.tenant_id = a.tenant_id AND u.is_admin = 1 + AND u.user_id = ( + SELECT MIN(user_id) FROM sys_user + WHERE tenant_id = a.tenant_id AND is_admin = 1 AND deleted = 0 + ) AND a.tenant_id = #{param.tenantId}