# 个人模型详情缺失展示字段补齐实施记录 ## 实施时间 - 2026-04-03 ## 修改内容 - 补齐个人详情页“业务信息”中的 `借款期限` - 补齐个人模型输出“测算结果”中的 5 个字段: - `历史利率` - `产品最低利率下限` - `平滑幅度` - `最终测算利率` - `参考利率` - 在后端 `ModelRetailOutputFields` 中新增对应 5 个字段定义 - 在零售模型 mock 数据中补齐对应 5 个字段样例值 - 新增零售模型输出表结构迁移脚本,并同步更新建表基线 SQL - 新增后端字段断言测试与前端源码断言脚本 ## 修改文件 - `ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/entity/ModelRetailOutputFields.java` - `ruoyi-loan-pricing/src/main/resources/data/retail_output.json` - `ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/domain/entity/ModelRetailOutputFieldsTest.java` - `ruoyi-ui/src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue` - `ruoyi-ui/src/views/loanPricing/workflow/components/ModelOutputDisplay.vue` - `ruoyi-ui/tests/retail-display-fields.test.js` - `ruoyi-ui/package.json` - `sql/add_model_retail_output_rate_fields_20260403.sql` - `sql/model_retail.sql` - `sql/loan_pricing_schema_20260328.sql` - `sql/loan_pricing_prod_init_20260331.sql` - `doc/2026-04-03-retail-display-fields-design.md` - `doc/2026-04-03-retail-display-fields-backend-plan.md` - `doc/2026-04-03-retail-display-fields-frontend-plan.md` - `doc/implementation-report-2026-04-03-retail-display-fields.md` ## 验证方式 1. 新增后端测试,断言 `ModelRetailOutputFields` 包含 5 个新增字段,先失败后通过 2. 新增前端源码断言脚本,断言个人详情页与模型输出页已补齐字段,先失败后通过 3. 执行前端生产构建,确认页面代码可正常打包 4. 检查开发库 `model_retail_output_fields` 表结构,确认最初缺少 5 个新列 5. 执行 `sql/add_model_retail_output_rate_fields_20260403.sql` 到开发库,并再次确认 5 个新列存在 6. 重新编译并重启后端,确保新的实体字段已进入运行中的 SQL 映射 7. 创建新的个人流程 `20260403100514909`,调用详情接口确认返回以下真实值: - `loanRateHistory = 6.40` - `minRateProduct = 5.50` - `smoothRange = -0.10` - `finalCalculateRate = 6.05` - `referenceRate = 5.95` 8. 启动前端开发服务并使用浏览器自动化打开详情页,确认: - 页面出现 `借款期限` - 切换到“测算结果”页签后,5 个新增字段及对应值均可见 9. 验证结束后,停止本次启动的前后端进程 ## 验证结果 - `mvn -pl ruoyi-loan-pricing -Dtest=ModelRetailOutputFieldsTest test` 首次失败,补齐后通过 - `npm --prefix ruoyi-ui run test:retail-display-fields` 首次失败,补齐后通过 - `npm --prefix ruoyi-ui run build:prod` 成功,输出包含 `Build complete.` - 已确认开发库 `model_retail_output_fields` 初始缺少: - `loan_rate_history` - `min_rate_product` - `smooth_range` - `final_calculate_rate` - `reference_rate` - 已执行迁移脚本并确认以上 5 列存在 - 已确认旧后端进程因未加载最新依赖导致 SQL 仍缺新列,重编译并重启后问题消失 - 已创建个人流程 `20260403100514909` 并通过详情接口拿到 5 个新增字段的真实值 - 已通过浏览器自动化确认个人详情页展示位与“测算结果”页签展示均正确 - 本次验证期间启动的前后端进程均已停止 ## 说明 - `loanTerm` 本次仅补齐详情页展示位;个人创建表单当前无该字段录入入口,不属于本次“模型返回字段更新”范围 - 为保证新字段在新环境中也可正常落库,本次同步更新了零售模型输出表的建表基线 SQL