问题发现时间: 2025-08-04 16:00:00
问题分析时间: 2025-08-04 16:05:00
修复完成时间: 2025-08-04 16:20:00
详情页问题发现: 2025-08-04 16:40:00
详情页修复完成: 2025-08-04 16:50:00
验证状态: 🟡 需要重启后端服务并执行SQL脚本验证
部署状态: 🟡 需要先执行SQL脚本,再重启后端服务
经过代码检查发现,数据库表和后端代码存在严重的字段不匹配问题:
第一轮问题(数据写入):
数据库表缺失字段:
application_conditions(申请条件)- 数据库中不存在evaluation_criteria(评定标准)- 数据库中不存在remark(备注)- 数据库中不存在后端代码缺失:
JcbtScholarshipType.java中缺少这三个字段JcbtScholarshipTypeBo.java中缺少这三个字段第二轮问题(数据显示):
VO类缺失字段:
JcbtScholarshipTypeVo.java中缺少这三个字段前端代码正确:
数据库实际字段(jcbt_scholarship_type表):
description TEXT COMMENT '奖学金描述',
application_guide TEXT COMMENT '申请指南',
-- 修复前缺失:application_conditions, evaluation_criteria, remark
-- 修复后已添加:
application_conditions TEXT COMMENT '申请条件',
evaluation_criteria TEXT COMMENT '评定标准',
remark VARCHAR(500) COMMENT '备注',
sort_order INT(11) DEFAULT 0 COMMENT '排序号',
前端表单字段:
v-model="form.applicationConditions" // ✅ 前端有
v-model="form.evaluationCriteria" // ✅ 前端有
v-model="form.remark" // ✅ 前端有
前端详情显示:
{{ viewData.applicationConditions || '无' }} // ✅ 前端有
{{ viewData.evaluationCriteria || '无' }} // ✅ 前端有
{{ viewData.remark || '无' }} // ✅ 前端有
后端代码字段:
// 修复前:❌ 实体类、BO类、VO类都缺失这三个字段
// 修复后:✅ 实体类、BO类、VO类都已添加这三个字段
backend/sql/add_missing_fields_to_scholarship_type.sql-- 添加申请条件字段
ALTER TABLE jcbt_scholarship_type
ADD COLUMN IF NOT EXISTS application_conditions TEXT COMMENT '申请条件'
AFTER application_guide;
-- 添加评定标准字段
ALTER TABLE jcbt_scholarship_type
ADD COLUMN IF NOT EXISTS evaluation_criteria TEXT COMMENT '评定标准'
AFTER application_conditions;
-- 添加备注字段
ALTER TABLE jcbt_scholarship_type
ADD COLUMN IF NOT EXISTS remark VARCHAR(500) COMMENT '备注'
AFTER evaluation_criteria;
backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/domain/JcbtScholarshipType.java/**
* 申请条件
*/
private String applicationConditions;
/**
* 评定标准
*/
private String evaluationCriteria;
/**
* 备注
*/
private String remark;
backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/domain/bo/JcbtScholarshipTypeBo.java/**
* 申请条件
*/
@Size(max = 2000, message = "申请条件不能超过2000个字符")
private String applicationConditions;
/**
* 评定标准
*/
@Size(max = 2000, message = "评定标准不能超过2000个字符")
private String evaluationCriteria;
/**
* 备注
*/
@Size(max = 500, message = "备注不能超过500个字符")
private String remark;
backend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/domain/vo/JcbtScholarshipTypeVo.java/**
* 申请条件
*/
@ExcelProperty(value = "申请条件")
private String applicationConditions;
/**
* 评定标准
*/
@ExcelProperty(value = "评定标准")
private String evaluationCriteria;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
backend/ruoyi-modules/ruoyi-jcbt/src/main/resources/mapper/jcbt/JcbtScholarshipTypeMapper.xmlSQL查询语句修复:
<sql id="selectJcbtScholarshipTypeVo">
select id, type_code, type_name, type_category, level_type, award_amount,
description, application_guide, application_conditions, evaluation_criteria, remark,
compatibility_type, sort_order, status, is_system,
create_dept, create_by, create_time, update_by, update_time
from jcbt_scholarship_type
</sql>
resultMap映射修复:
<resultMap type="org.dromara.jcbt.domain.vo.JcbtScholarshipTypeVo" id="JcbtScholarshipTypeResult">
<!-- 基础字段 -->
<result property="id" column="id" />
<result property="typeCode" column="type_code" />
<result property="typeName" column="type_name" />
<result property="typeCategory" column="type_category" />
<result property="levelType" column="level_type" />
<result property="awardAmount" column="award_amount" />
<!-- 详细描述字段 -->
<result property="description" column="description" />
<result property="applicationGuide" column="application_guide" />
<result property="applicationConditions" column="application_conditions" />
<result property="evaluationCriteria" column="evaluation_criteria" />
<result property="remark" column="remark" />
<!-- 控制字段 -->
<result property="compatibilityType" column="compatibility_type" />
<result property="sortOrder" column="sort_order" />
<result property="status" column="status" />
<result property="isSystem" column="is_system" />
<!-- 基础审计字段 -->
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
type_code)type_name)type_category)level_type)award_amount)description)application_guide)application_conditions) 🆕 新增evaluation_criteria) 🆕 新增remark) 🆕 新增sort_order)status)is_system)compatibility_type)# 在数据库中执行
source backend/sql/add_missing_fields_to_scholarship_type.sql
cd backend
# 重启Spring Boot应用
backend/sql/add_missing_fields_to_scholarship_type.sqlbackend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/domain/JcbtScholarshipType.javabackend/ruoyi-modules/ruoyi-jcbt/src/main/java/org/dromara/jcbt/domain/bo/JcbtScholarshipTypeBo.javaweb/src/views/jcbt/scholarship/type/index.vue