2.5 KiB
2.5 KiB
代码调整记录 - 2025-01-01 - Assistant
修复记录(按时间倒序)
⚡ 修复时间:2025-01-01 15:30:00
🐛 问题描述:
- 报错信息:
Field 'application_type' doesn't have a default value - 影响模块:奖学金申请管理
- 场景:班主任批量申请奖学金时,插入数据库失败
🔍 问题根因:
jcbt_scholarship_application表中application_type字段定义为NOT NULL且无默认值- 班主任批量申请方法
batchSubmitApplicationsByTeacher()中缺少applicationType字段设置 - 通用插入方法
insertByBo()中缺少applicationType默认值设置
✅ 修复方案:
-
在班主任批量申请中设置申请类型
- 文件:
JcbtScholarshipApplicationServiceImpl.java - 位置:
batchSubmitApplicationsByTeacher()方法 - 修改:添加
applicationBo.setApplicationType("RECOMMEND"); - 逻辑:班主任代申请属于教师推荐类型
- 文件:
-
在通用插入方法中添加默认值
- 文件:
JcbtScholarshipApplicationServiceImpl.java - 位置:
insertByBo()方法 - 修改:添加默认值设置逻辑
- 逻辑:如果未设置申请类型,默认为
"RECOMMEND"
- 文件:
📝 技术细节:
// 修复1:班主任批量申请
applicationBo.setApplicationType("RECOMMEND"); // 班主任代申请属于教师推荐类型
// 修复2:通用插入方法默认值
if (StringUtils.isBlank(add.getApplicationType())) {
add.setApplicationType("RECOMMEND"); // 默认为教师推荐类型
}
🎯 申请类型枚举值:
RECOMMEND- 教师推荐(班主任代申请)AUTO- 自动评定DIRECT- 直接指定
📊 修复结果:
- ✅ 班主任批量申请功能恢复正常
- ✅ 所有申请记录都有明确的申请类型
- ✅ 数据库插入不再报错
- ✅ 符合业务逻辑:班主任代申请 = 教师推荐
⚠️ 重启要求:
- 需要重新编译:修改了 Java 业务代码
- 需要重启服务:修改了 Spring Bean 的业务逻辑
- 影响模块:ruoyi-jcbt 模块
🔄 后续优化建议:
- 考虑在数据库层面添加
application_type字段的默认值 - 完善申请类型的业务规则文档
- 添加申请类型的数据字典配置
📋 修复文件清单:
backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/service/impl/JcbtScholarshipApplicationServiceImpl.java
🕐 修复耗时:约 10 分钟 ✅ 测试状态:待重启后验证