zhibo/fix_blacklist_menu_final.sql

60 lines
2.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =====================================================
-- 修复拉黑菜单 - 最终版
-- =====================================================
-- 1. 查看表结构
DESC eb_system_menu;
-- 2. 查看社交互动菜单
SELECT id, pid, `name`, component, menu_type, sort, is_show FROM eb_system_menu WHERE `name` = '社交互动';
-- 3. 查看群组管理作为参考(它能正常显示)
SELECT * FROM eb_system_menu WHERE `name` = '群组管理';
-- 4. 查看现有的拉黑菜单
SELECT * FROM eb_system_menu WHERE `name` IN ('用户拉黑', '房间拉黑');
-- 5. 删除旧的拉黑菜单记录
DELETE FROM eb_system_menu WHERE `name` = '用户拉黑';
DELETE FROM eb_system_menu WHERE `name` = '房间拉黑';
-- 6. 获取社交互动的ID
SET @social_id = (SELECT id FROM eb_system_menu WHERE `name` = '社交互动' AND menu_type = 'M' LIMIT 1);
SELECT @social_id as '社交互动ID';
-- 7. 获取群组管理的sort值在其后面添加
SET @group_sort = (SELECT sort FROM eb_system_menu WHERE `name` = '群组管理' LIMIT 1);
SELECT @group_sort as '群组管理排序';
-- 8. 插入用户拉黑菜单(参考群组管理的格式)
INSERT INTO eb_system_menu (`pid`, `name`, `icon`, `perms`, `component`, `menu_type`, `sort`, `is_show`)
VALUES (@social_id, '用户拉黑', '', 'admin:blacklist:user:list', '/socialManage/blacklist/user', 'C', IFNULL(@group_sort, 0) + 1, 1);
SET @user_blacklist_id = LAST_INSERT_ID();
SELECT @user_blacklist_id as '用户拉黑菜单ID';
-- 9. 插入房间拉黑菜单
INSERT INTO eb_system_menu (`pid`, `name`, `icon`, `perms`, `component`, `menu_type`, `sort`, `is_show`)
VALUES (@social_id, '房间拉黑', '', 'admin:blacklist:room:list', '/socialManage/blacklist/room', 'C', IFNULL(@group_sort, 0) + 2, 1);
SET @room_blacklist_id = LAST_INSERT_ID();
SELECT @room_blacklist_id as '房间拉黑菜单ID';
-- 10. 为管理员角色添加权限rid=1是超级管理员
INSERT IGNORE INTO eb_system_role_menu (rid, menu_id) VALUES (1, @user_blacklist_id);
INSERT IGNORE INTO eb_system_role_menu (rid, menu_id) VALUES (1, @room_blacklist_id);
-- 11. 验证结果
SELECT '=== 社交互动下所有子菜单 ===' as info;
SELECT id, pid, `name`, component, sort, is_show, menu_type
FROM eb_system_menu
WHERE pid = @social_id
ORDER BY sort;
-- 12. 验证权限
SELECT '=== 拉黑菜单权限 ===' as info;
SELECT rm.rid, rm.menu_id, m.`name`, m.component
FROM eb_system_role_menu rm
JOIN eb_system_menu m ON rm.menu_id = m.id
WHERE m.`name` IN ('用户拉黑', '房间拉黑');