Files
jcgl-dev/dev/sql/apt_rev01/12_it2_permissions.sql
zfjia 35751b4f00
IT-0 verify / verify (push) Waiting to run
1111
2026-11-11 18:30:31 +08:00

59 lines
3.8 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- 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 = '*:*:*');