229 lines
5.4 KiB
Markdown
229 lines
5.4 KiB
Markdown
# 菜单数据恢复指南
|
||
|
||
> **作者**:湖北新华业务中台研发团队
|
||
> **日期**:2026-01-31
|
||
> **用途**:恢复完整的系统菜单(RuoYi系统管理菜单 + 盘古业务菜单)
|
||
|
||
---
|
||
|
||
## 一、问题说明
|
||
|
||
### 1.1 问题现象
|
||
|
||
系统菜单栏缺少RuoYi默认的系统管理菜单,只显示盘古业务菜单,导致无法访问:
|
||
|
||
- **系统管理**:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理
|
||
- **系统监控**:在线用户、定时任务、数据监控、服务监控、缓存监控
|
||
- **系统工具**:表单构建、代码生成、系统接口
|
||
|
||
### 1.2 原因分析
|
||
|
||
初始化数据库时,只导入了盘古业务菜单(`pangu_menu.sql`),缺少RuoYi系统菜单数据。
|
||
|
||
---
|
||
|
||
## 二、解决方案
|
||
|
||
### 2.1 完整菜单SQL文件
|
||
|
||
已创建完整菜单SQL文件:**`sql/sys_menu_complete.sql`**
|
||
|
||
包含内容:
|
||
- **RuoYi系统菜单**:72条(menu_id 1-1999)
|
||
- **盘古业务菜单**:46条(menu_id 2000-2070)
|
||
- **合计**:118条菜单
|
||
|
||
### 2.2 方法一:使用导入脚本(推荐)
|
||
|
||
#### 步骤1:进入SQL目录
|
||
```bash
|
||
cd /path/to/pangu-user-platform/sql
|
||
```
|
||
|
||
#### 步骤2:执行导入脚本
|
||
```bash
|
||
./import_menu.sh
|
||
```
|
||
|
||
#### 步骤3:按提示确认
|
||
```
|
||
此操作将清空并重新导入菜单数据,是否继续?(y/n): y
|
||
```
|
||
|
||
#### 步骤4:查看导入结果
|
||
脚本会自动显示菜单统计信息和顶级菜单列表。
|
||
|
||
### 2.3 方法二:手动导入SQL
|
||
|
||
```bash
|
||
mysql -h127.0.0.1 -P3306 -uroot -p123456 pangu_user_platform < sql/sys_menu_complete.sql
|
||
```
|
||
|
||
### 2.4 方法三:使用数据库客户端
|
||
|
||
1. 使用Navicat/DataGrip/DBeaver等工具连接数据库
|
||
2. 打开`sql/sys_menu_complete.sql`文件
|
||
3. 执行SQL脚本
|
||
|
||
---
|
||
|
||
## 三、验证结果
|
||
|
||
### 3.1 数据库验证
|
||
|
||
```sql
|
||
-- 统计菜单总数
|
||
SELECT COUNT(*) AS total FROM sys_menu;
|
||
-- 预期结果:118条
|
||
|
||
-- 统计各类型菜单
|
||
SELECT
|
||
CASE
|
||
WHEN menu_id < 2000 THEN 'RuoYi系统菜单'
|
||
ELSE '盘古业务菜单'
|
||
END AS menu_type,
|
||
COUNT(*) AS count
|
||
FROM sys_menu
|
||
GROUP BY CASE WHEN menu_id < 2000 THEN 'RuoYi系统菜单' ELSE '盘古业务菜单' END;
|
||
-- 预期结果:
|
||
-- RuoYi系统菜单 72
|
||
-- 盘古业务菜单 46
|
||
|
||
-- 查看顶级菜单
|
||
SELECT menu_id, menu_name, order_num, visible, status
|
||
FROM sys_menu
|
||
WHERE parent_id = 0
|
||
ORDER BY order_num;
|
||
-- 预期结果:
|
||
-- 1 系统管理 1 0 0
|
||
-- 2 系统监控 2 0 0
|
||
-- 3 系统工具 3 0 0
|
||
-- 4 若依官网 4 0 0
|
||
-- 2000 盘古管理 0 0 0
|
||
```
|
||
|
||
### 3.2 前端页面验证
|
||
|
||
刷新浏览器,菜单栏应该显示:
|
||
|
||
```
|
||
📋 盘古管理 (menu_id 2000,order_num 0 - 最前面)
|
||
├─ 学校管理
|
||
├─ 会员管理
|
||
├─ 学生管理
|
||
├─ 应用管理
|
||
└─ 基础数据
|
||
├─ 年级管理
|
||
├─ 班级管理
|
||
├─ 学科管理
|
||
└─ 区域管理
|
||
|
||
⚙️ 系统管理 (menu_id 1,order_num 1)
|
||
├─ 用户管理
|
||
├─ 角色管理
|
||
├─ 菜单管理
|
||
├─ 部门管理
|
||
├─ 岗位管理
|
||
├─ 字典管理
|
||
├─ 参数设置
|
||
├─ 通知公告
|
||
└─ 日志管理
|
||
|
||
📊 系统监控 (menu_id 2,order_num 2)
|
||
├─ 在线用户
|
||
├─ 定时任务
|
||
├─ 数据监控
|
||
├─ 服务监控
|
||
└─ 缓存监控
|
||
|
||
🔧 系统工具 (menu_id 3,order_num 3)
|
||
├─ 表单构建
|
||
├─ 代码生成
|
||
└─ 系统接口
|
||
|
||
🌐 若依官网 (menu_id 4,order_num 4)
|
||
```
|
||
|
||
---
|
||
|
||
## 四、注意事项
|
||
|
||
### 4.1 数据备份
|
||
|
||
**重要**:执行导入前,建议备份当前菜单数据:
|
||
|
||
```sql
|
||
-- 备份菜单表
|
||
CREATE TABLE sys_menu_backup_20260131 AS SELECT * FROM sys_menu;
|
||
```
|
||
|
||
### 4.2 权限影响
|
||
|
||
导入菜单后,需要检查角色权限配置:
|
||
|
||
```sql
|
||
-- 查看admin角色的菜单权限
|
||
SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 1;
|
||
```
|
||
|
||
如果权限不足,需要在**系统管理 > 角色管理**中重新分配菜单权限。
|
||
|
||
### 4.3 菜单顺序
|
||
|
||
- **盘古管理**:`order_num = 0`(显示在最前面)
|
||
- **系统管理**:`order_num = 1`
|
||
- **系统监控**:`order_num = 2`
|
||
- **系统工具**:`order_num = 3`
|
||
- **若依官网**:`order_num = 4`
|
||
|
||
如需调整顺序,可在**系统管理 > 菜单管理**中修改`显示排序`字段。
|
||
|
||
### 4.4 菜单ID范围
|
||
|
||
为避免ID冲突,请遵守以下规则:
|
||
- **RuoYi系统菜单**:menu_id 1-1999
|
||
- **盘古业务菜单**:menu_id >= 2000
|
||
|
||
新增业务菜单时,menu_id从2100开始。
|
||
|
||
---
|
||
|
||
## 五、常见问题
|
||
|
||
### Q1:导入后菜单显示不全?
|
||
|
||
**A**:清除浏览器缓存或使用无痕模式重新登录。
|
||
|
||
### Q2:导入失败提示"Access denied"?
|
||
|
||
**A**:检查数据库用户权限,确保有`DELETE`和`INSERT`权限。
|
||
|
||
### Q3:菜单顺序不对?
|
||
|
||
**A**:在**系统管理 > 菜单管理**中调整`显示排序`字段。
|
||
|
||
### Q4:部分菜单无法访问?
|
||
|
||
**A**:在**系统管理 > 角色管理**中,为对应角色分配菜单权限。
|
||
|
||
---
|
||
|
||
## 六、相关文件
|
||
|
||
| 文件路径 | 说明 |
|
||
|---------|------|
|
||
| `sql/sys_menu_complete.sql` | 完整菜单SQL(RuoYi + 盘古) |
|
||
| `sql/import_menu.sh` | 自动导入脚本 |
|
||
| `sql/pangu_menu.sql` | 盘古业务菜单(仅业务部分) |
|
||
| `sql/ry_20250522.sql` | RuoYi原始完整SQL |
|
||
|
||
---
|
||
|
||
## 七、技术支持
|
||
|
||
如有问题,请联系:**湖北新华业务中台研发团队**
|
||
|
||
---
|
||
|
||
*最后更新:2026-01-31*
|