Files
loan-pricing/doc/2026-04-03-retail-display-fields-backend-plan.md
2026-04-03 10:47:16 +08:00

2.8 KiB
Raw Blame History

个人模型详情缺失展示字段补齐后端实施计划

For agentic workers: REQUIRED: Use superpowers:executing-plans to implement this plan in this repository. Do not use subagents. Steps use checkbox (- [ ]) syntax for tracking.

Goal: 补齐个人模型输出对象与零售模型输出表结构的新增字段,确保个人详情接口可承载并持久化最新展示字段。

Architecture: 后端补齐 ModelRetailOutputFields 实体字段,并为 model_retail_output_fields 表增加 5 个对应列。保持现有控制器、服务与 Mapper 链路不变,让模型返回字段按既有流程直接反序列化、入库并回查。

Tech Stack: Java 17、Spring Boot、MyBatis Plus、Maven、JUnit 5


Task 1: 通过测试锁定缺失字段

Files:

  • Create: ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/domain/entity/ModelRetailOutputFieldsTest.java

  • Step 1: 编写实体字段断言测试

新增测试,断言 ModelRetailOutputFields 包含以下字段:

"loanRateHistory",
"minRateProduct",
"smoothRange",
"finalCalculateRate",
"referenceRate"
  • Step 2: 运行测试并确认先失败

Run: mvn -pl ruoyi-loan-pricing -Dtest=ModelRetailOutputFieldsTest test Expected: FAIL提示缺少新增字段。

Task 2: 补齐个人模型输出实体字段

Files:

  • Modify: ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/entity/ModelRetailOutputFields.java

  • Step 1: 在实体中新增 5 个字段

新增以下字段:

  • loanRateHistory

  • minRateProduct

  • smoothRange

  • finalCalculateRate

  • referenceRate

  • Step 2: 保持现有命名与注释风格一致

新增字段使用与现有实体一致的 private String 定义和中文注释,不引入额外注解。

  • Step 3: 重新运行测试确认通过

Run: mvn -pl ruoyi-loan-pricing -Dtest=ModelRetailOutputFieldsTest test Expected: PASS

Task 3: 补齐零售模型输出表结构

Files:

  • Create: sql/add_model_retail_output_rate_fields_20260403.sql

  • Modify: sql/model_retail.sql

  • Modify: sql/loan_pricing_schema_20260328.sql

  • Modify: sql/loan_pricing_prod_init_20260331.sql

  • Step 1: 新增数据库迁移脚本

在迁移脚本中为 model_retail_output_fields 增加以下列:

  • loan_rate_history

  • min_rate_product

  • smooth_range

  • final_calculate_rate

  • reference_rate

  • Step 2: 同步更新建表基线 SQL

将相同列同步到仓库中的零售模型输出表建表脚本,避免新环境继续缺列。

  • Step 3: 对开发库执行迁移并验证列存在

Run: mysql ... < sql/add_model_retail_output_rate_fields_20260403.sql Expected: 迁移执行成功,SHOW COLUMNS FROM model_retail_output_fields 可看到新增 5 列