Commit Graph

2 Commits

Author SHA1 Message Date
神码-方晓辉 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