计费模块菜单SQL-总账号-计费配置入口.sql 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. -- 计费模块菜单 SQL(总账号 - 计费配置入口)
  2. -- 说明:
  3. -- 1) 为总账号新增“计费配置”页面菜单;
  4. -- 2) 幂等执行,不重复插入;
  5. -- 3) 默认挂在 path='tenant' 父菜单下,找不到则挂根节点(0)。
  6. SET @now = NOW();
  7. SET @createBy = 'admin';
  8. -- 找父菜单:优先租户管理目录
  9. SELECT @parentId := menu_id
  10. FROM sys_menu
  11. WHERE path = 'tenant'
  12. ORDER BY menu_id DESC
  13. LIMIT 1;
  14. SET @parentId = IFNULL(@parentId, 0);
  15. -- 1) 页面菜单(C)
  16. INSERT INTO sys_menu
  17. (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
  18. SELECT
  19. '计费配置', @parentId, 30, 'billingConfig', 'saas/billing/index', 1, 0, 'C', '0', '0', 'fee:billing:config', '#',
  20. @createBy, @now, '', NULL, 'SaaS计费配置入口(方案、绑定、钱包、事件)'
  21. FROM dual
  22. WHERE NOT EXISTS (
  23. SELECT 1 FROM sys_menu WHERE component = 'saas/billing/index'
  24. );
  25. -- 菜单ID
  26. SELECT @configMenuId := menu_id
  27. FROM sys_menu
  28. WHERE component = 'saas/billing/index'
  29. LIMIT 1;
  30. -- 2) 按钮权限(F):查询
  31. INSERT INTO sys_menu
  32. (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
  33. SELECT
  34. '计费配置查询', @configMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'fee:billing:config:query', '#',
  35. @createBy, @now, '', NULL, '计费配置查询权限'
  36. FROM dual
  37. WHERE @configMenuId IS NOT NULL
  38. AND NOT EXISTS (
  39. SELECT 1 FROM sys_menu WHERE parent_id = @configMenuId AND perms = 'fee:billing:config:query' AND menu_type = 'F'
  40. );
  41. -- 3) 按钮权限(F):编辑
  42. INSERT INTO sys_menu
  43. (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
  44. SELECT
  45. '计费配置编辑', @configMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'fee:billing:config:edit', '#',
  46. @createBy, @now, '', NULL, '计费配置编辑权限'
  47. FROM dual
  48. WHERE @configMenuId IS NOT NULL
  49. AND NOT EXISTS (
  50. SELECT 1 FROM sys_menu WHERE parent_id = @configMenuId AND perms = 'fee:billing:config:edit' AND menu_type = 'F'
  51. );
  52. -- 4) 授权给 admin 角色
  53. SELECT @adminRoleId := role_id
  54. FROM sys_role
  55. WHERE role_key = 'admin'
  56. LIMIT 1;
  57. INSERT INTO sys_role_menu (role_id, menu_id)
  58. SELECT @adminRoleId, m.menu_id
  59. FROM sys_menu m
  60. WHERE @adminRoleId IS NOT NULL
  61. AND m.menu_id IN (
  62. @configMenuId,
  63. (SELECT menu_id FROM sys_menu WHERE parent_id = @configMenuId AND perms = 'fee:billing:config:query' AND menu_type = 'F' LIMIT 1),
  64. (SELECT menu_id FROM sys_menu WHERE parent_id = @configMenuId AND perms = 'fee:billing:config:edit' AND menu_type = 'F' LIMIT 1)
  65. )
  66. AND NOT EXISTS (
  67. SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = @adminRoleId AND rm.menu_id = m.menu_id
  68. );