2026-10-15-mini-crm-product-webview-menus.sql 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -- 小程序:CRM管理 → 产品管理(WebView)
  2. -- 给已有 Web 产品管理菜单 CRM00000000000000000000000000003(crm:product:list)的角色自动补绑
  3. SET NAMES utf8mb4;
  4. INSERT INTO `sys_menu` (
  5. `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
  6. `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
  7. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  8. )
  9. SELECT
  10. 'MINI_CRM_ROOT', 'CRM管理', '1', 'M', '/mini/crm', NULL, NULL,
  11. 1, '1', '1', 'shanxia2.0', 2, '小程序CRM管理',
  12. 'system', '', NOW(), NULL, NOW(), 0
  13. FROM DUAL
  14. WHERE NOT EXISTS (
  15. SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_CRM_ROOT' AND `del_flag` = 0
  16. );
  17. INSERT INTO `sys_menu` (
  18. `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
  19. `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
  20. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  21. )
  22. SELECT
  23. 'MINI_CRM_PRODUCT', '产品管理', 'MINI_CRM_ROOT', 'C', 'mp-webview', NULL,
  24. 'mini:crm:product:list',
  25. 1, '1', '1', 'shanxia2.0', 1, '小程序 WebView CRM 产品管理',
  26. 'system', '', NOW(), NULL, NOW(), 0
  27. FROM DUAL
  28. WHERE NOT EXISTS (
  29. SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_CRM_PRODUCT' AND `del_flag` = 0
  30. );
  31. INSERT INTO `sys_role_menu` (
  32. `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
  33. `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
  34. )
  35. SELECT
  36. MD5(CONCAT(r.id, '|', m.menu_id, '|mini-crm-product-webview|v1')),
  37. r.id,
  38. m.menu_id,
  39. IFNULL(NULLIF(r.tenant_no, ''), 'shanxia2.0'),
  40. 0,
  41. '小程序CRM产品管理:随 Web 产品权限补绑',
  42. 'system', '', NOW(), NULL, NOW(), 0
  43. FROM `sys_role` r
  44. JOIN `sys_role_menu` web
  45. ON web.role_id = r.id
  46. AND web.menu_id = 'CRM00000000000000000000000000003'
  47. AND web.del_flag = 0
  48. JOIN (
  49. SELECT '1' AS menu_id UNION ALL
  50. SELECT 'MINI_CRM_ROOT' UNION ALL
  51. SELECT 'MINI_CRM_PRODUCT'
  52. ) m
  53. WHERE r.del_flag = 0
  54. AND NOT EXISTS (
  55. SELECT 1 FROM `sys_role_menu` x
  56. WHERE x.role_id = r.id AND x.menu_id = m.menu_id AND x.del_flag = 0
  57. );