-- 检查用户权限配置（单个查询版本，避免 phpMyAdmin 错误）
-- 用于排查登录日志和操作日志权限差异问题
-- 注意：请逐个执行每个查询，不要一次性执行所有查询

-- ============================================
-- 查询 1：检查菜单权限配置
-- ============================================
SELECT 
    menu_id,
    menu_name,
    perms,
    status
FROM sys_menu 
WHERE perms IN ('monitor:logininfor:list', 'monitor:operlog:list')
ORDER BY perms;

-- ============================================
-- 查询 2：检查角色权限关联
-- ============================================
SELECT 
    r.role_id,
    r.role_name,
    r.role_key,
    m.menu_name,
    m.perms
FROM sys_role r
INNER JOIN sys_role_menu rm ON r.role_id = rm.role_id
INNER JOIN sys_menu m ON rm.menu_id = m.menu_id
WHERE m.perms IN ('monitor:logininfor:list', 'monitor:operlog:list')
ORDER BY r.role_id, m.perms;

-- ============================================
-- 查询 3：检查用户角色关联（请替换用户名）
-- ============================================
SELECT 
    u.user_id,
    u.user_name,
    r.role_name,
    r.role_key
FROM sys_user u
LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id
LEFT JOIN sys_role r ON ur.role_id = r.role_id
WHERE u.user_name = 'admin'  -- 替换为你的用户名
ORDER BY u.user_id;

-- ============================================
-- 查询 4：检查用户的所有权限（请替换用户名）
-- ============================================
SELECT DISTINCT
    u.user_name,
    m.perms
FROM sys_user u
INNER JOIN sys_user_role ur ON u.user_id = ur.user_id
INNER JOIN sys_role r ON ur.role_id = r.role_id
INNER JOIN sys_role_menu rm ON r.role_id = rm.role_id
INNER JOIN sys_menu m ON rm.menu_id = m.menu_id
WHERE u.user_name = 'admin'  -- 替换为你的用户名
  AND m.perms IN ('monitor:logininfor:list', 'monitor:operlog:list')
ORDER BY m.perms;

