-- Price change log: remove monitor page menu; keep query permission for package version change log SET NAMES utf8mb4; SET @monitorParent := ( SELECT menu_id FROM sys_menu WHERE menu_type = 'M' AND (path = 'monitor' OR menu_name = N'系统监控') ORDER BY menu_id LIMIT 1 ); -- Drop legacy monitor page menu DELETE FROM sys_role_menu WHERE menu_id = 2350; DELETE FROM sys_menu WHERE menu_id = 2350 OR (menu_type = 'C' AND (path = 'priceLog' OR component = 'monitor/priceLog/index')); -- Normalize existing permission row to button (F), no page component UPDATE sys_menu SET parent_id = IFNULL(@monitorParent, parent_id), menu_type = 'F', path = '', component = NULL, visible = '0', status = '0', menu_name = N'价格变更日志查询', remark = N'套餐版本变更记录等查询权限(无监控页面)' WHERE menu_id = 2351 OR perms = 'monitor:priceLog:list'; INSERT INTO sys_menu ( menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark ) SELECT 2351, N'价格变更日志查询', IFNULL(@monitorParent, 2), 10, '', NULL, 1, 0, 'F', '0', '0', 'monitor:priceLog:list', '#', 'admin', sysdate(), N'套餐版本变更记录等查询权限(无监控页面)' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2351 OR perms = 'monitor:priceLog:list'); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, m.menu_id FROM sys_menu m WHERE m.perms = 'monitor:priceLog:list' AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);