100 lines
3.6 KiB
SQL
100 lines
3.6 KiB
SQL
-- 修复zhanglaoshi和lililaoshi的角色权限配置
|
|
-- 作者:Cursor AI
|
|
-- 日期:2025-07-21
|
|
-- 说明:解决zhanglaoshi和lililaoshi账号权限配置问题
|
|
|
|
-- 1. 检查用户角色关联情况
|
|
SELECT u.user_id, u.user_name, u.nick_name, r.role_id, r.role_name, r.role_key
|
|
FROM sys_user u
|
|
JOIN sys_user_role ur ON u.user_id = ur.user_id
|
|
JOIN sys_role r ON ur.role_id = r.role_id
|
|
WHERE u.user_name IN ('zhanglaoshi', 'lililaoshi');
|
|
|
|
-- 2. 删除现有的用户角色关联,确保没有错误配置
|
|
DELETE FROM sys_user_role WHERE user_id IN (9001, 9002);
|
|
|
|
-- 3. 重新配置正确的用户角色关联
|
|
-- zhanglaoshi(9001) -> 招生信息审核员(10)
|
|
-- lililaoshi(9002) -> 招生录取处理员(11)
|
|
INSERT INTO sys_user_role (user_id, role_id) VALUES
|
|
(9001, 10), -- 张老师 -> 招生信息审核员
|
|
(9002, 11); -- 李老师 -> 招生录取处理员
|
|
|
|
-- 4. 检查角色权限配置
|
|
SELECT r.role_name, m.menu_name, m.perms
|
|
FROM sys_role r
|
|
JOIN sys_role_menu rm ON r.role_id = rm.role_id
|
|
JOIN sys_menu m ON rm.menu_id = m.menu_id
|
|
WHERE r.role_id IN (10, 11)
|
|
ORDER BY r.role_id, m.menu_id;
|
|
|
|
-- 5. 确保招生信息审核员角色(10)有正确的权限
|
|
-- 检查是否有信息审核权限
|
|
SELECT COUNT(*) FROM sys_menu WHERE perms = 'zsjy:enrollmentProcess:audit';
|
|
|
|
-- 6. 确保招生录取处理员角色(11)有正确的权限
|
|
-- 检查是否有录取处理权限
|
|
SELECT COUNT(*) FROM sys_menu WHERE perms = 'zsjy:enrollmentProcess:process';
|
|
|
|
-- 7. 修复招生信息审核员角色(10)权限
|
|
-- 如果需要添加缺失的信息审核权限
|
|
INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
|
|
SELECT 10, menu_id FROM sys_menu WHERE perms = 'zsjy:enrollmentProcess:audit';
|
|
|
|
-- 移除不应有的录取处理权限
|
|
DELETE FROM sys_role_menu
|
|
WHERE role_id = 10
|
|
AND menu_id IN (SELECT menu_id FROM sys_menu WHERE perms = 'zsjy:enrollmentProcess:process');
|
|
|
|
-- 8. 修复招生录取处理员角色(11)权限
|
|
-- 如果需要添加缺失的录取处理权限
|
|
INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
|
|
SELECT 11, menu_id FROM sys_menu WHERE perms = 'zsjy:enrollmentProcess:process';
|
|
|
|
-- 移除不应有的信息审核权限
|
|
DELETE FROM sys_role_menu
|
|
WHERE role_id = 11
|
|
AND menu_id IN (SELECT menu_id FROM sys_menu WHERE perms = 'zsjy:enrollmentProcess:audit');
|
|
|
|
-- 9. 检查流程状态数据过滤
|
|
-- 查看当前流程状态数据分配情况
|
|
SELECT id, student_name, current_status, current_handler, current_handler_name
|
|
FROM zsjy_enrollment_process
|
|
WHERE deleted = 0
|
|
ORDER BY current_status;
|
|
|
|
-- 10. 修复流程状态数据分配
|
|
-- 确保状态0和1的流程分配给zhanglaoshi(9001)
|
|
UPDATE zsjy_enrollment_process
|
|
SET current_handler = 9001,
|
|
current_handler_name = '张老师',
|
|
update_time = NOW()
|
|
WHERE current_status IN ('0', '1')
|
|
AND deleted = 0;
|
|
|
|
-- 确保状态2的流程分配给lililaoshi(9002)
|
|
UPDATE zsjy_enrollment_process
|
|
SET current_handler = 9002,
|
|
current_handler_name = '李老师',
|
|
update_time = NOW()
|
|
WHERE current_status = '2'
|
|
AND deleted = 0;
|
|
|
|
-- 11. 最终验证
|
|
-- 再次检查用户角色关联
|
|
SELECT u.user_id, u.user_name, u.nick_name, r.role_id, r.role_name, r.role_key
|
|
FROM sys_user u
|
|
JOIN sys_user_role ur ON u.user_id = ur.user_id
|
|
JOIN sys_role r ON ur.role_id = r.role_id
|
|
WHERE u.user_name IN ('zhanglaoshi', 'lililaoshi');
|
|
|
|
-- 检查流程状态分配情况
|
|
SELECT
|
|
current_status,
|
|
COUNT(*) as total_count,
|
|
SUM(CASE WHEN current_handler = 9001 THEN 1 ELSE 0 END) as zhanglaoshi_count,
|
|
SUM(CASE WHEN current_handler = 9002 THEN 1 ELSE 0 END) as lililaoshi_count
|
|
FROM zsjy_enrollment_process
|
|
WHERE deleted = 0
|
|
GROUP BY current_status
|
|
ORDER BY current_status; |