66 lines
2.1 KiB
Markdown
66 lines
2.1 KiB
Markdown
# 学生信息导入VO类字段缺失问题修复记录
|
|
|
|
**变更时间**: 2025-07-31 18:00:00
|
|
**变更人员**: wuzilong
|
|
**变更类型**: Bug修复
|
|
**影响范围**: 学生信息批量导入功能
|
|
|
|
## 问题描述
|
|
|
|
在执行学生信息批量导入时,发现SQL插入语句中缺少了很多字段,导致数据不完整。通过分析发现是`XgStudentMsgImportVo`类中缺少了多个重要字段,导致`BeanUtil.toBean()`转换时无法正确映射。
|
|
|
|
## 问题原因
|
|
|
|
1. **基础字段被注释**: `deleted`、`createBy`、`updateBy`字段在VO类中被注释掉了
|
|
2. **重要业务字段缺失**: `nativePlace`、`sourceRegion`、`counselorId`、`counselorName`字段在VO类中不存在
|
|
3. **Bean转换失败**: 由于字段不匹配,导致`BeanUtil.toBean(studentVo, XgStudentMsgBo.class)`转换时丢失数据
|
|
|
|
## 修复内容
|
|
|
|
### 1. 恢复基础字段
|
|
```java
|
|
// 恢复以下字段的声明(保持@ExcelProperty注解注释状态)
|
|
private Long deleted; // 删除标志
|
|
private Long createBy; // 创建者
|
|
private Long updateBy; // 更新者
|
|
```
|
|
|
|
### 2. 添加缺失的业务字段
|
|
```java
|
|
// 添加籍贯字段
|
|
@ExcelProperty(value = "籍贯")
|
|
private String nativePlace;
|
|
|
|
// 添加生源地区字段
|
|
@ExcelProperty(value = "生源地区")
|
|
private String sourceRegion;
|
|
|
|
// 添加辅导员相关字段
|
|
@ExcelProperty(value = "辅导员ID")
|
|
private Long counselorId;
|
|
|
|
@ExcelProperty(value = "辅导员姓名")
|
|
private String counselorName;
|
|
```
|
|
|
|
## 修复文件
|
|
|
|
- `backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgStudentMsgImportVo.java`
|
|
|
|
## 验证方法
|
|
|
|
1. 重新执行学生信息批量导入
|
|
2. 检查SQL插入语句是否包含完整的字段
|
|
3. 验证导入的数据是否完整
|
|
|
|
## 影响评估
|
|
|
|
- **正面影响**: 修复了学生信息导入功能,确保数据完整性
|
|
- **风险**: 无,只是恢复了缺失的字段声明
|
|
- **兼容性**: 完全兼容,不影响现有功能
|
|
|
|
## 后续建议
|
|
|
|
1. 建立VO类和BO类字段映射检查机制
|
|
2. 在开发过程中确保VO类包含所有必要的字段
|
|
3. 定期检查Bean转换的完整性 |