| 123456789101112131415161718192021222324252627282930313233 |
- -- 1.0.384 verify: UATAdminA 应绑定 UAT_FUNCTION_USER 并能解析出菜单。
- -- 1) 目标账号角色与可解析菜单数
- -- 期望:roles = 4(原 3 个 SMART_OPS_* + 新增 UAT_FUNCTION_USER),role_menus > 0
- SELECT u.Account,
- u.AccountType,
- u.TenantId,
- COUNT(DISTINCT ur.RoleId) AS roles,
- COUNT(DISTINCT rm.MenuId) AS role_menus
- FROM SysUser u
- LEFT JOIN SysUserRole ur ON ur.UserId = u.Id
- LEFT JOIN SysRoleMenu rm ON rm.RoleId = ur.RoleId
- WHERE u.Account = 'UATAdminA'
- GROUP BY u.Id, u.Account, u.AccountType, u.TenantId;
- -- 2) 与同租户对照账号横向比对
- -- 期望:UATAdminA 的 role_menus 与其余 5 个账号一致(308)
- SELECT u.Account,
- COUNT(DISTINCT rm.MenuId) AS role_menus
- FROM SysUser u
- LEFT JOIN SysUserRole ur ON ur.UserId = u.Id
- LEFT JOIN SysRoleMenu rm ON rm.RoleId = ur.RoleId
- WHERE u.TenantId = (SELECT TenantId FROM SysUser WHERE Account = 'UATAdminA')
- GROUP BY u.Id, u.Account
- ORDER BY u.Account;
- -- 3) 幂等性:重复执行不应产生重复绑定
- -- 期望:0 行
- SELECT UserId, RoleId, COUNT(*) AS dup
- FROM SysUserRole
- WHERE UserId = (SELECT Id FROM SysUser WHERE Account = 'UATAdminA')
- GROUP BY UserId, RoleId
- HAVING COUNT(*) > 1;
|