Merge branch 'main' of ssh://124.243.245.42:2222/zkr/shz-backend
This commit is contained in:
90
sql/migration_interview_menu.sql
Normal file
90
sql/migration_interview_menu.sql
Normal file
@@ -0,0 +1,90 @@
|
||||
-- =====================================================
|
||||
-- 面试列表 - 菜单权限配置 SQL
|
||||
-- 在 岗位管理 菜单下增加"面试列表"子菜单及按钮权限
|
||||
--
|
||||
-- 执行前请确认:
|
||||
-- 1. 确认 parent_id:面试列表将放在 "岗位管理" 目录下
|
||||
-- 如果数据库中岗位管理目录的 menu_id 不同,请修改下面子查询中的条件
|
||||
-- 2. sys_menu 表使用自增主键(auto_increment=2000),
|
||||
-- 本脚本使用 2100+ 的固定ID,避免与已有数据冲突
|
||||
-- 3. 执行后需要在"角色管理"中将新菜单分配给对应角色
|
||||
-- =====================================================
|
||||
|
||||
-- Step 1: 新增菜单项(C=菜单页面)
|
||||
-- parent_id 动态查找:path='management' 的目录菜单
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2100, '面试列表',
|
||||
(SELECT menu_id FROM sys_menu WHERE path = 'management' AND menu_type = 'M' LIMIT 1),
|
||||
10, 'interview-list', 'Management/InterviewList', '', 'InterviewList', 1, 0, 'C', '0', '0',
|
||||
'cms:interview:list', 'message', 'admin', CURRENT_TIMESTAMP, '', null, '面试列表菜单'
|
||||
WHERE EXISTS (SELECT 1 FROM sys_menu WHERE path = 'management' AND menu_type = 'M');
|
||||
|
||||
-- Step 2: 新增按钮权限(F=按钮)
|
||||
-- 面试查询
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2101, '面试查询', 2100, 1, '', '', '', '', 1, 0, 'F', '0', '0',
|
||||
'cms:interview:query', '#', 'admin', CURRENT_TIMESTAMP, '', null, ''
|
||||
WHERE EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2100);
|
||||
|
||||
-- 面试新增
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2102, '面试新增', 2100, 2, '', '', '', '', 1, 0, 'F', '0', '0',
|
||||
'cms:interview:add', '#', 'admin', CURRENT_TIMESTAMP, '', null, ''
|
||||
WHERE EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2100);
|
||||
|
||||
-- 面试修改
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2103, '面试修改', 2100, 3, '', '', '', '', 1, 0, 'F', '0', '0',
|
||||
'cms:interview:edit', '#', 'admin', CURRENT_TIMESTAMP, '', null, ''
|
||||
WHERE EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2100);
|
||||
|
||||
-- 面试删除
|
||||
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT 2104, '面试删除', 2100, 4, '', '', '', '', 1, 0, 'F', '0', '0',
|
||||
'cms:interview:remove', '#', 'admin', CURRENT_TIMESTAMP, '', null, ''
|
||||
WHERE EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2100);
|
||||
|
||||
-- Step 3: 将新菜单分配给角色
|
||||
-- 为所有非管理员角色分配面试列表权限(管理员角色无需分配,通配符 *:*:* 自动拥有全部权限)
|
||||
-- 如需仅限特定角色,请修改 WHERE 条件
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.role_id, 2100
|
||||
FROM sys_role r
|
||||
WHERE r.role_key != 'admin'
|
||||
AND EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2100);
|
||||
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.role_id, 2101
|
||||
FROM sys_role r
|
||||
WHERE r.role_key != 'admin'
|
||||
AND EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2101);
|
||||
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.role_id, 2102
|
||||
FROM sys_role r
|
||||
WHERE r.role_key != 'admin'
|
||||
AND EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2102);
|
||||
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.role_id, 2103
|
||||
FROM sys_role r
|
||||
WHERE r.role_key != 'admin'
|
||||
AND EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2103);
|
||||
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT r.role_id, 2104
|
||||
FROM sys_role r
|
||||
WHERE r.role_key != 'admin'
|
||||
AND EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2104);
|
||||
|
||||
-- =====================================================
|
||||
-- 验证 SQL(可选执行)
|
||||
-- =====================================================
|
||||
-- 检查菜单是否创建成功
|
||||
-- SELECT * FROM sys_menu WHERE menu_id BETWEEN 2100 AND 2104;
|
||||
|
||||
-- 检查角色菜单关联
|
||||
-- SELECT r.role_name, m.menu_name FROM sys_role_menu rm
|
||||
-- JOIN sys_role r ON r.role_id = rm.role_id
|
||||
-- JOIN sys_menu m ON m.menu_id = rm.menu_id
|
||||
-- WHERE rm.menu_id BETWEEN 2100 AND 2104;
|
||||
Reference in New Issue
Block a user