1.0.384.verify.sql 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. -- 1.0.384 verify: UATAdminA 应绑定 UAT_FUNCTION_USER 并能解析出菜单。
  2. -- 1) 目标账号角色与可解析菜单数
  3. -- 期望:roles = 4(原 3 个 SMART_OPS_* + 新增 UAT_FUNCTION_USER),role_menus > 0
  4. SELECT u.Account,
  5. u.AccountType,
  6. u.TenantId,
  7. COUNT(DISTINCT ur.RoleId) AS roles,
  8. COUNT(DISTINCT rm.MenuId) AS role_menus
  9. FROM SysUser u
  10. LEFT JOIN SysUserRole ur ON ur.UserId = u.Id
  11. LEFT JOIN SysRoleMenu rm ON rm.RoleId = ur.RoleId
  12. WHERE u.Account = 'UATAdminA'
  13. GROUP BY u.Id, u.Account, u.AccountType, u.TenantId;
  14. -- 2) 与同租户对照账号横向比对
  15. -- 期望:UATAdminA 的 role_menus 与其余 5 个账号一致(308)
  16. SELECT u.Account,
  17. COUNT(DISTINCT rm.MenuId) AS role_menus
  18. FROM SysUser u
  19. LEFT JOIN SysUserRole ur ON ur.UserId = u.Id
  20. LEFT JOIN SysRoleMenu rm ON rm.RoleId = ur.RoleId
  21. WHERE u.TenantId = (SELECT TenantId FROM SysUser WHERE Account = 'UATAdminA')
  22. GROUP BY u.Id, u.Account
  23. ORDER BY u.Account;
  24. -- 3) 幂等性:重复执行不应产生重复绑定
  25. -- 期望:0 行
  26. SELECT UserId, RoleId, COUNT(*) AS dup
  27. FROM SysUserRole
  28. WHERE UserId = (SELECT Id FROM SysUser WHERE Account = 'UATAdminA')
  29. GROUP BY UserId, RoleId
  30. HAVING COUNT(*) > 1;