神码-方晓辉
|
c6a51a7993
|
chore: 统一所有文件作者为pangu
## 修改范围
### 受影响文件(9个)
#### 1. Java文件(1个)
- pangu-system/src/main/java/com/pangu/web/controller/system/SysLoginController.java
- @author 湖北新华业务中台研发团队 → @author pangu
#### 2. SQL脚本(5个)
- sql/fix_admin_permissions.sh - 角色权限修复脚本
- sql/fix_charset.sh - 字符集修复脚本
- sql/import_menu.sh - 菜单导入脚本
- sql/fix_ruoyi_charset.sql - RuoYi乱码修复SQL
- sql/sys_menu_complete.sql - 完整菜单数据SQL
#### 3. SQL数据文件(3个)
- sql/pangu_menu.sql - 盘古菜单数据
- sql/pangu_base_data.sql - 基础数据
- sql/pangu_school.sql - 学校数据
### 修改内容
所有文件中的作者信息统一为:
- 作者:湖北新华业务中台研发团队 → 作者:pangu
- @author 湖北新华业务中台研发团队 → @author pangu
### 未修改的文件
其他文件中的作者字段已经是 `pangu` 或未设置作者,无需修改:
- Java文件(80+):已经是 @author pangu ✅
- Vue文件(30+):无作者注释或已是正确格式 ✅
- JS文件(20+):无作者注释或已是正确格式 ✅
- Markdown文档:无需修改 ✅
### 工具脚本
新增批量修改工具:`scripts/change_author_to_pangu.sh`
**功能**:
- 自动扫描Java、Vue、JS、SQL、Markdown文件
- 批量替换作者为pangu
- 生成详细修改日志
- 支持多种作者格式(@author、作者:、Author:)
**使用方法**:
```bash
cd /path/to/pangu-user-platform
./scripts/change_author_to_pangu.sh
```
### 统计信息
- ✅ 扫描文件:210个
- ✅ 修改文件:9个
- ✅ 跳过文件:201个(已是pangu或无作者)
---
作者:pangu
|
2026-02-01 13:27:32 +08:00 |
神码-方晓辉
|
a7b997321c
|
fix: 修复MySQL字符集问题,防止中文乱码
## 问题描述
用户反馈:菜单comment字段可能出现乱码
## 问题分析
### 乱码原因
1. **MySQL连接字符集不匹配**:
- 客户端未指定字符集
- 默认字符集与数据不匹配
2. **终端显示问题**:
- 终端编码与数据库编码不一致
- 查询结果传输过程中字符集转换错误
### 数据库状态检查
```sql
-- 当前配置
character_set_client = utf8mb4 ✅
character_set_connection = utf8mb4 ✅
character_set_database = utf8mb4 ✅
character_set_results = utf8mb4 ✅
-- 表字符集
sys_menu: utf8mb4_general_ci ✅
```
## 解决方案
### 1. 更新import_menu.sh导入脚本
**修改**:所有mysql命令添加`--default-character-set=utf8mb4`
```bash
# 修复前 ❌
mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" < "$SQL_FILE"
# 修复后 ✅
mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" --default-character-set=utf8mb4 "$DB_NAME" < "$SQL_FILE"
```
### 2. 创建字符集修复工具
**新增**:`sql/fix_charset.sh`
**功能特性**:
- ✅ 检查数据库字符集配置
- ✅ 检查表字符集设置
- ✅ 测试查询菜单数据
- ✅ 一键修复表字符集
- ✅ 自动备份原表数据
**使用方法**:
```bash
cd sql
./fix_charset.sh
```
**修复流程**:
1. 检查当前字符集配置
2. 显示菜单数据(检测乱码)
3. 用户确认是否修复
4. 创建备份表
5. 转换表字符集为utf8mb4
6. 验证修复结果
## 预防措施
### 数据导入时
```bash
# 始终指定字符集
mysql --default-character-set=utf8mb4 -h... < file.sql
```
### 数据查询时
```bash
# 查询时指定字符集
mysql --default-character-set=utf8mb4 -h... -e "SELECT ..."
```
### 应用程序配置
```yaml
# application.yml中确保
spring:
datasource:
url: jdbc:mysql://...?characterEncoding=utf8mb4&useUnicode=true
```
## 验证结果
```sql
SELECT menu_id, menu_name, remark FROM sys_menu WHERE parent_id = 0;
2000 盘古管理 盘古用户平台业务菜单 ✅
1 系统管理 系统管理目录 ✅
2 系统监控 系统监控目录 ✅
```
## 相关文件
- sql/import_menu.sh - 菜单导入脚本(已修复)
- sql/fix_charset.sh - 字符集修复工具(新增)
---
作者:湖北新华业务中台研发团队
|
2026-02-01 13:21:43 +08:00 |
神码-方晓辉
|
bcb1c6e397
|
fix: 更新菜单SQL作者为pangu并修正数据库配置
## 修改内容
### 1. 更新菜单SQL中的作者
- 将sys_menu_complete.sql中所有create_by从'admin'改为'pangu'
- 统一项目作者命名规范
### 2. 修正导入脚本数据库配置
- 修改import_menu.sh中的数据库连接信息
- DB_HOST: 127.0.0.1 → 8.148.25.55
- DB_NAME: pangu_user_platform → pguser-db
- DB_PASS: 更新为实际密码
## 验证结果
已确认数据库菜单状态:
- ✅ 总菜单数:118条
- ✅ RuoYi系统菜单:72条
- ✅ 盘古业务菜单:46条
- ✅ 顶级菜单完整(盘古管理、系统管理、系统监控、系统工具、若依官网)
## 说明
数据库中菜单数据已完整,RuoYi系统管理菜单均已存在,无需重新导入。
---
作者:湖北新华业务中台研发团队
|
2026-02-01 13:20:33 +08:00 |
神码-方晓辉
|
174b08da12
|
feat: 创建完整菜单数据恢复方案
## 问题描述
用户反馈:菜单栏缺少RuoYi默认的系统管理菜单(用户管理、角色管理、菜单管理等),只显示盘古业务菜单
## 问题分析
初始化数据库时,只导入了盘古业务菜单(pangu_menu.sql),缺少RuoYi的系统管理、系统监控、系统工具菜单
## 解决方案
### 1. 创建完整菜单SQL文件
```
sql/sys_menu_complete.sql (196行, 118条菜单)
├─ RuoYi系统菜单: 72条 (menu_id 1-1999)
│ ├─ 系统管理 (用户、角色、菜单、部门、岗位、字典、参数、通知、日志)
│ ├─ 系统监控 (在线用户、定时任务、数据监控、服务监控、缓存监控)
│ └─ 系统工具 (表单构建、代码生成、系统接口)
└─ 盘古业务菜单: 46条 (menu_id >= 2000)
└─ 盘古管理 (学校、会员、学生、应用、基础数据)
```
### 2. 创建自动导入脚本
```bash
sql/import_menu.sh
├─ 数据库连接配置
├─ SQL文件路径检查
├─ 用户确认提示
├─ 菜单数据导入
└─ 导入结果统计
```
**功能特性**:
- 自动检查SQL文件存在性
- 导入前用户确认
- 导入后自动统计菜单数量
- 显示顶级菜单列表
- 错误处理和友好提示
### 3. 创建运维文档
```
docs/07-运维文档/菜单数据恢复指南.md
├─ 问题说明
├─ 解决方案(3种导入方法)
├─ 验证步骤(数据库+前端)
├─ 注意事项(备份、权限、顺序)
├─ 常见问题Q&A
└─ 相关文件索引
```
## 使用方法
### 方法一:自动导入脚本(推荐)
```bash
cd sql
./import_menu.sh
```
### 方法二:手动导入SQL
```bash
mysql -h127.0.0.1 -P3306 -uroot -p123456 pangu_user_platform < sql/sys_menu_complete.sql
```
### 方法三:数据库客户端
使用Navicat/DataGrip执行sql/sys_menu_complete.sql
## 验证结果
### 数据库验证
```sql
SELECT COUNT(*) FROM sys_menu; -- 预期:118条
SELECT
CASE WHEN menu_id < 2000 THEN 'RuoYi系统菜单' ELSE '盘古业务菜单' END AS type,
COUNT(*) AS count
FROM sys_menu
GROUP BY CASE WHEN menu_id < 2000 THEN 'RuoYi系统菜单' ELSE '盘古业务菜单' END;
-- 预期:RuoYi 72条, 盘古 46条
```
### 前端验证
刷新页面后,菜单栏应显示:
- ✅ 盘古管理 (order_num 0 - 最前面)
- ✅ 系统管理 (order_num 1)
- ✅ 系统监控 (order_num 2)
- ✅ 系统工具 (order_num 3)
- ✅ 若依官网 (order_num 4)
## 文件清单
- sql/sys_menu_complete.sql - 完整菜单SQL
- sql/import_menu.sh - 自动导入脚本
- docs/07-运维文档/菜单数据恢复指南.md - 运维文档
---
作者:湖北新华业务中台研发团队
|
2026-02-01 13:18:36 +08:00 |