69 lines
4.3 KiB
SQL
69 lines
4.3 KiB
SQL
-- =============================================================================
|
||
-- 35 值班台测试配置与测试入住权限点(R5 / 应用端/17)
|
||
--
|
||
-- 五个权限点:
|
||
-- duty:config:read 查看测试配置面板(房间/绑定/服务器现状)
|
||
-- duty:config:room 录入测试房间(补平台基线 + 登记本端房间)
|
||
-- duty:config:sip 房间与 SIP 分机绑定/解绑
|
||
-- duty:config:sipServer SIP 服务器(AMI)地址/端口/口令引用/号段
|
||
-- duty:checkin:test 测试办理入住(造入住记录 + 生成叫乘任务)
|
||
--
|
||
-- 发放:超级管理员天然拥有 *:*:*;另外发给「公寓值班员」
|
||
-- (role_key = apartmentduty),测试配置由值班员自己维护。
|
||
-- 幂等:按 menu_id 与 (role_id, menu_id) 双重判重。
|
||
-- =============================================================================
|
||
SET NAMES utf8mb4;
|
||
|
||
USE apt_rev01;
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- 权限点
|
||
-- ---------------------------------------------------------------------------
|
||
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 3270, '测试配置查看', 0, 20, '', NULL, 1, 0, 'F', '0', '0', 'duty:config:read', '#', 'apt-rev01', NOW(), '值班台测试配置面板只读'
|
||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 3270);
|
||
|
||
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 3271, '测试房间录入', 0, 21, '', NULL, 1, 0, 'F', '0', '0', 'duty:config:room', '#', 'apt-rev01', NOW(), '补平台房间基线并登记本端房间(仅测试环境)'
|
||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 3271);
|
||
|
||
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 3272, '房间SIP绑定', 0, 22, '', NULL, 1, 0, 'F', '0', '0', 'duty:config:sip', '#', 'apt-rev01', NOW(), '房间与 SIP 分机绑定/解绑'
|
||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 3272);
|
||
|
||
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 3273, 'SIP服务器配置', 0, 23, '', NULL, 1, 0, 'F', '0', '0', 'duty:config:sipServer', '#', 'apt-rev01', NOW(), 'AMI 地址/端口/用户名/口令引用/号段'
|
||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 3273);
|
||
|
||
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 3274, '测试办理入住', 0, 24, '', NULL, 1, 0, 'F', '0', '0', 'duty:checkin:test', '#', 'apt-rev01', NOW(), '为系统内人员造入住记录并生成叫乘任务(仅测试环境)'
|
||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 3274);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- 发放给「公寓值班员」
|
||
-- ---------------------------------------------------------------------------
|
||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||
SELECT r.role_id, m.menu_id
|
||
FROM sys_role r
|
||
JOIN sys_menu m ON m.menu_id IN (3270, 3271, 3272, 3273, 3274)
|
||
WHERE r.role_key = 'apartmentduty'
|
||
AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm
|
||
WHERE rm.role_id = r.role_id AND rm.menu_id = m.menu_id);
|
||
|
||
-- ---------------------------------------------------------------------------
|
||
-- 自检
|
||
-- ---------------------------------------------------------------------------
|
||
SELECT '=== 35. 新增权限点(应 5)===' AS section;
|
||
SELECT menu_id, menu_name, perms FROM sys_menu WHERE menu_id BETWEEN 3270 AND 3274 ORDER BY menu_id;
|
||
|
||
SELECT '=== 35. 值班员已获授权(应 5)===' AS section;
|
||
SELECT COUNT(*) AS granted
|
||
FROM sys_role_menu rm
|
||
JOIN sys_role r ON r.role_id = rm.role_id
|
||
WHERE r.role_key = 'apartmentduty' AND rm.menu_id BETWEEN 3270 AND 3274;
|