-- 修复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;