计费模块菜单SQL-总账号.sql 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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, 31, 'billingAdmin', 'saas/billingAdmin/index', 1, 0, 'C', '0', '0', 'fee:billing:admin:list', '#',
  20. @createBy, @now, '', NULL, 'SaaS总账号查看全租户费用明细'
  21. FROM dual
  22. WHERE NOT EXISTS (
  23. SELECT 1 FROM sys_menu WHERE component = 'saas/billingAdmin/index'
  24. );
  25. -- 页面菜单ID
  26. SELECT @adminPageMenuId := menu_id
  27. FROM sys_menu
  28. WHERE component = 'saas/billingAdmin/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. '总账号费用明细查询', @adminPageMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'fee:billing:admin:list', '#',
  35. @createBy, @now, '', NULL, '总账号费用明细查询权限'
  36. FROM dual
  37. WHERE @adminPageMenuId IS NOT NULL
  38. AND NOT EXISTS (
  39. SELECT 1
  40. FROM sys_menu
  41. WHERE parent_id = @adminPageMenuId
  42. AND perms = 'fee:billing:admin:list'
  43. AND menu_type = 'F'
  44. );
  45. -- 3) 绑定 admin 角色
  46. SELECT @adminRoleId := role_id
  47. FROM sys_role
  48. WHERE role_key = 'admin'
  49. LIMIT 1;
  50. INSERT INTO sys_role_menu (role_id, menu_id)
  51. SELECT @adminRoleId, m.menu_id
  52. FROM sys_menu m
  53. WHERE @adminRoleId IS NOT NULL
  54. AND m.menu_id = @adminPageMenuId
  55. AND NOT EXISTS (
  56. SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = @adminRoleId AND rm.menu_id = m.menu_id
  57. );