zhibo/fix_blacklist_menu_final.sql

60 lines
2.5 KiB
MySQL
Raw Normal View History

-- =====================================================
-- 修复拉黑菜单 - 最终版
-- =====================================================
-- 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 ('用户拉黑', '房间拉黑');