2026-10-17-mini-crm-customer-webview-menus.sql 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. -- 小程序 CRM 客户管理 H5 入口。仅新增/恢复移动菜单及相应角色绑定,不修改 Web 菜单。
  2. SET NAMES utf8mb4;
  3. START TRANSACTION;
  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. VALUES
  10. ('MINI_CRM_ROOT', 'CRM管理', '1', 'M', '/mini/crm', NULL, NULL,
  11. 1, '1', '1', 'shanxia2.0', 2, '小程序CRM管理', 'system', '', NOW(), NULL, NOW(), 0),
  12. ('MINI_CRM_CUSTOMER', '客户管理', 'MINI_CRM_ROOT', 'C', 'mp-webview', NULL, 'mini:crm:customer:list',
  13. 1, '1', '1', 'shanxia2.0', 6, '小程序 WebView CRM 客户管理', 'system', '', NOW(), NULL, NOW(), 0)
  14. ON DUPLICATE KEY UPDATE del_flag = 0, update_time = NOW();
  15. -- 根据当前 Web 客户菜单权限查找角色,不依赖历史菜单 ID;补齐全部祖先。
  16. INSERT INTO sys_role_menu (
  17. id, role_id, menu_id, tenant_no, order_num, remark,
  18. create_by, create_dept_id, create_time, update_by, update_time, del_flag
  19. )
  20. SELECT
  21. MD5(CONCAT(r.id, '|', target.menu_id, '|mini-crm-customer-webview|v1')),
  22. r.id, target.menu_id, r.tenant_no, 0, '小程序客户管理:随 Web crm:customer:list 补绑',
  23. 'system', '', NOW(), NULL, NOW(), 0
  24. FROM sys_role r
  25. CROSS JOIN (
  26. SELECT '1' AS menu_id UNION ALL SELECT 'MINI_CRM_ROOT' UNION ALL SELECT 'MINI_CRM_CUSTOMER'
  27. ) target
  28. WHERE r.del_flag = 0
  29. AND EXISTS (
  30. SELECT 1 FROM sys_role_menu rm
  31. JOIN sys_menu m ON m.id = rm.menu_id AND m.del_flag = 0
  32. WHERE rm.role_id = r.id AND rm.del_flag = 0 AND m.perms = 'crm:customer:list'
  33. )
  34. AND NOT EXISTS (
  35. SELECT 1 FROM sys_role_menu existing
  36. WHERE existing.role_id = r.id AND existing.menu_id = target.menu_id AND existing.del_flag = 0
  37. )
  38. ON DUPLICATE KEY UPDATE del_flag = 0, update_time = NOW();
  39. COMMIT;