68 lines
4.3 KiB
SQL
68 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;
|