# 2026-06-29

## fix: UserMapper.xml LEFT JOIN sys_company 导致分页查询记录重复

- 问题：`SELECT * FROM sys_user WHERE is_developer = 1` 只有5条记录，但 `/api/system/user/page?isDeveloper=true` 返回多条重复记录
- 原因：`LEFT JOIN sys_company g ON g.tenant_id = t.tenant_id` 中，一个 tenant_id 可能在 sys_company 中有多条公司记录，产生笛卡尔积
- 修复：将 `LEFT JOIN sys_company` 改为子查询，按 `tenant_id` 分组取第一条记录
  ```sql
  LEFT JOIN (
      SELECT tenant_id, MAX(company_name) as company_name, MAX(company_logo) as company_logo
      FROM sys_company
      GROUP BY tenant_id
  ) g ON g.tenant_id = t.tenant_id
  ```
- 同步修改了 `target/classes/` 下的编译版本
