risk_role_menu.sql 1.2 KB

12345678910111213141516171819202122232425
  1. -- ============================================================
  2. -- 给"本部门及以下"角色(role_id=3)分配风控平台菜单权限
  3. -- 菜单 menu_id 11882(监督抽检/平台客诉)是父菜单,需要把它和它下面的所有子菜单都分配
  4. -- 同时把 test1 用户也改到 role_id=3,这样 test1 登录能直接看到风控菜单 + 数据权限
  5. -- ============================================================
  6. USE risk_control_platform;
  7. -- 1) 分配"监督抽检/平台客诉"父菜单 + 所有子菜单给"本部门及以下"角色(role_id=3)
  8. INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
  9. SELECT 3, menu_id FROM sys_menu
  10. WHERE (perms LIKE 'risk:%' OR menu_id = 11807)
  11. AND status = '0';
  12. -- 2) 顺便把 test1 (user_id=4) 改到 role_id=3 (本部门及以下),这样登录就能测数据权限
  13. UPDATE sys_user_role SET role_id = 3 WHERE user_id = 4;
  14. -- 验证
  15. SELECT '--- role 3 现在的风控菜单数 ---' AS info;
  16. SELECT COUNT(*) AS risk_menu_count
  17. FROM sys_role_menu rm JOIN sys_menu m ON m.menu_id = rm.menu_id
  18. WHERE rm.role_id = 3 AND (m.perms LIKE 'risk:%' OR m.menu_id = 11807) AND m.status = '0';
  19. SELECT '--- test1 现在角色 ---' AS info;
  20. SELECT user_id, role_id FROM sys_user_role WHERE user_id = 4;