From a3c4b74d33222658c71e6e00b6f86db49d865d72 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:17:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor(tenant):=20=E4=BC=98=E5=8C=96=E7=A7=9F?= =?UTF-8?q?=E6=88=B7=E7=AE=A1=E7=90=86=E5=91=98=E7=94=A8=E6=88=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改TenantMapper中sys_user的关联查询方式 - 使用ROW_NUMBER窗口函数获取每个租户的第一个管理员用户 - 过滤出is_admin为1且未删除的用户,提高查询准确性 - 避免直接按照user_id关联带来的潜在数据错误 - 保持查询结果结构不变,确保兼容现有业务逻辑 --- .../common/system/mapper/xml/TenantMapper.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 8391424..6f770d0 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 @@ -7,7 +7,16 @@ SELECT a.*,b.company_name,b.company_logo as logo,b.admin_url,b.domain,b.free_domain,c.phone,c.username FROM sys_tenant a LEFT JOIN sys_company b ON a.tenant_id = b.tenant_id - LEFT JOIN sys_user c ON a.user_id = c.user_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 AND a.tenant_id = #{param.tenantId}