59 lines
3.8 KiB
SQL
59 lines
3.8 KiB
SQL
-- =============================================================================
|
||
-- IT-2 权限点种子(可重放):M1 交路 CRUD + M2 房间路径权限点。
|
||
-- 说明:3003 在 IT-1 为置灰预置,IT-2 起启用;3004~3006 仍保持置灰不关联角色。
|
||
-- IT-1 校验段 grey_permission_bound(3003~3006)在 IT-2 后为 1 属预期变化。
|
||
-- =============================================================================
|
||
|
||
-- 1. 启用 IT-1 预置的房间列表权限点
|
||
UPDATE sys_menu SET visible = '0', status = '0', remark = 'IT-2 / M2 启用'
|
||
WHERE menu_id = 3003 AND perms = 'apt:room:list';
|
||
|
||
-- 2. 新增权限点 3007~3015
|
||
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, remark)
|
||
VALUES
|
||
(3007, '交路详情', 3000, 7, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:route:query', '#', 'IT-2', NOW(), 'IT-2 / M1 启用'),
|
||
(3008, '交路新增', 3000, 8, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:route:add', '#', 'IT-2', NOW(), 'IT-2 / M1 启用;受 D7 约束,本期默认关闭'),
|
||
(3009, '交路编辑', 3000, 9, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:route:edit', '#', 'IT-2', NOW(), 'IT-2 / M1 启用;受 D7 约束'),
|
||
(3010, '交路启停', 3000, 10, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:route:changeStatus', '#', 'IT-2', NOW(), 'IT-2 / M1 启用'),
|
||
(3011, '房间详情', 3000, 11, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:room:query', '#', 'IT-2', NOW(), 'IT-2 / M2 登记'),
|
||
(3012, '房间编辑', 3000, 12, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:room:edit', '#', 'IT-2', NOW(), 'IT-2 / M2 登记'),
|
||
(3013, '房间停复', 3000, 13, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:room:changeStatus', '#', 'IT-2', NOW(), 'IT-2 / M2 登记'),
|
||
(3014, '房间新增', 3000, 14, '', NULL, NULL, '', 1, 0, 'F', '1', '1',
|
||
'apt:room:add', '#', 'IT-2', NOW(), 'G-01/G-04 补齐前保持置灰'),
|
||
(3015, '主数据版本', 3000, 15, '', NULL, NULL, '', 1, 0, 'F', '0', '0',
|
||
'apt:master:version', '#', 'IT-2', NOW(),
|
||
'IT-2 / Mock 版本查询;表 4-17 权威权限点为 apt:ops:health,本点为兼容登记')
|
||
ON DUPLICATE KEY UPDATE menu_name = VALUES(menu_name), perms = VALUES(perms),
|
||
remark = VALUES(remark);
|
||
|
||
-- 3. 关联超管角色(显式留痕;超管本身已有 *:*:*)
|
||
-- 3014 为置灰项不关联;3015 为本轮主数据版本点,需显式留痕
|
||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||
SELECT 1, m.menu_id FROM sys_menu m
|
||
WHERE (m.menu_id BETWEEN 3007 AND 3013 OR m.menu_id = 3015)
|
||
AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);
|
||
|
||
-- 4. 校验
|
||
SELECT '=== IT-2 权限点 ===' AS section;
|
||
SELECT menu_id, perms, visible, status, remark FROM sys_menu WHERE menu_id BETWEEN 3000 AND 3015 ORDER BY menu_id;
|
||
SELECT '=== 置灰项是否仍未关联角色(3004~3006 / 3014 应为 0)===' AS section;
|
||
SELECT COUNT(*) AS grey_bound FROM sys_role_menu rm JOIN sys_menu m ON m.menu_id = rm.menu_id
|
||
WHERE m.menu_id IN (3004, 3005, 3006, 3014);
|
||
SELECT '=== 主数据版本权限点已关联超管(应为 1)===' AS section;
|
||
SELECT COUNT(*) AS version_permission_bound
|
||
FROM sys_role_menu rm JOIN sys_menu m ON m.menu_id = rm.menu_id
|
||
WHERE rm.role_id = 1 AND m.menu_id = 3015 AND m.perms = 'apt:master:version';
|
||
SELECT '=== M0 验收账号仍无公寓端权限点(应为 0)===' AS section;
|
||
SELECT COUNT(*) AS apt_permission_count
|
||
FROM sys_role_menu rm JOIN sys_menu m ON m.menu_id = rm.menu_id
|
||
WHERE rm.role_id = 300 AND (m.perms LIKE 'apt:%' OR m.perms LIKE 'duty:%' OR m.perms = '*:*:*');
|