86 lines
6.1 KiB
SQL
86 lines
6.1 KiB
SQL
-- 心理咨询预约菜单和权限配置更新脚本
|
|
-- 作者:AI Cursor
|
|
-- 日期:2025-07-27
|
|
|
|
-- 检查是否已存在心理健康一级菜单
|
|
SET @xljk_parent_id = (SELECT menu_id FROM sys_menu WHERE menu_name = '心理健康' LIMIT 1);
|
|
|
|
-- 如果不存在,则创建心理健康一级菜单
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
SELECT 8000, '心理健康', 0, 80, 'xljk', NULL, NULL, 1, 0, 'M', '0', '0', '', 'people', 'admin', NOW(), '', NULL, '心理健康菜单'
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '心理健康');
|
|
|
|
-- 重新获取心理健康菜单ID
|
|
SET @xljk_parent_id = (SELECT menu_id FROM sys_menu WHERE menu_name = '心理健康' LIMIT 1);
|
|
|
|
-- 创建预约日历菜单
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
VALUES (8100, '预约日历', @xljk_parent_id, 10, 'calendar', 'xljk/consultation/calendar/index', NULL, 1, 0, 'C', '0', '0', 'xljk:consultationcalendar:list', 'calendar', 'admin', NOW(), '', NULL, '预约日历菜单');
|
|
|
|
-- 创建预约时段管理菜单
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
VALUES (8110, '预约时段管理', @xljk_parent_id, 20, 'schedule', 'xljk/consultation/schedule/index', NULL, 1, 0, 'C', '0', '0', 'xljk:consultationschedule:list', 'time', 'admin', NOW(), '', NULL, '预约时段管理菜单');
|
|
|
|
-- 创建预约记录管理菜单
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
VALUES (8120, '预约记录管理', @xljk_parent_id, 30, 'appointment', 'xljk/consultation/appointment/index', NULL, 1, 0, 'C', '0', '0', 'xljk:consultationappointment:list', 'list', 'admin', NOW(), '', NULL, '预约记录管理菜单');
|
|
|
|
-- 添加预约时段管理按钮
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
VALUES
|
|
(8111, '预约时段查询', 8110, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:query', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8112, '预约时段新增', 8110, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:add', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8113, '预约时段修改', 8110, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:edit', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8114, '预约时段删除', 8110, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:remove', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8115, '预约时段导出', 8110, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:export', '#', 'admin', NOW(), '', NULL, '');
|
|
|
|
-- 添加预约记录管理按钮
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
VALUES
|
|
(8121, '预约记录查询', 8120, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:query', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8122, '预约记录新增', 8120, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:add', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8123, '预约记录修改', 8120, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:edit', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8124, '预约记录删除', 8120, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:remove', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8125, '预约记录导出', 8120, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:export', '#', 'admin', NOW(), '', NULL, '');
|
|
|
|
-- 添加预约日历按钮
|
|
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
|
VALUES
|
|
(8101, '预约日历查询', 8100, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationcalendar:query', '#', 'admin', NOW(), '', NULL, ''),
|
|
(8102, '预约日历新增', 8100, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationcalendar:add', '#', 'admin', NOW(), '', NULL, '');
|
|
|
|
-- 创建心理咨询师角色(如果不存在)
|
|
INSERT INTO sys_role (role_id, role_name, role_key, role_sort, data_scope, menu_check_strictly, dept_check_strictly, status, del_flag, create_by, create_time, remark)
|
|
SELECT 100, '心理咨询师', 'counselor', 3, '1', 1, 1, '0', '0', 'admin', NOW(), '心理咨询师角色'
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role WHERE role_key = 'counselor');
|
|
|
|
-- 获取心理咨询师角色ID
|
|
SET @counselor_role_id = (SELECT role_id FROM sys_role WHERE role_key = 'counselor' LIMIT 1);
|
|
|
|
-- 获取学生角色ID(假设已存在)
|
|
SET @student_role_id = (SELECT role_id FROM sys_role WHERE role_key = 'student' LIMIT 1);
|
|
|
|
-- 心理咨询师角色权限配置
|
|
-- 1. 预约时段管理权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @counselor_role_id, menu_id FROM sys_menu
|
|
WHERE menu_id IN (8110, 8111, 8112, 8113, 8114, 8115);
|
|
|
|
-- 2. 预约记录管理权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @counselor_role_id, menu_id FROM sys_menu
|
|
WHERE menu_id IN (8120, 8121, 8122, 8123, 8124, 8125);
|
|
|
|
-- 3. 预约日历权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @counselor_role_id, menu_id FROM sys_menu
|
|
WHERE menu_id IN (8100, 8101, 8102);
|
|
|
|
-- 学生角色权限配置(如果学生角色存在)
|
|
-- 仅预约日历权限
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT @student_role_id, menu_id FROM sys_menu
|
|
WHERE menu_id IN (8100, 8101, 8102)
|
|
AND @student_role_id IS NOT NULL; |