Files
loan-pricing/doc/implementation-report-2026-04-27-model-interface-split.md

2.5 KiB
Raw Blame History

个人/企业模型接口拆分实施记录

修改内容

  • 将统一模型接口配置 model.url 拆分为 model.personal-urlmodel.corporate-url
  • devuat 环境分别指向本地个人/企业 mock
    • http://localhost:63310/rate/pricing/mock/invokeModel/personal
    • http://localhost:63310/rate/pricing/mock/invokeModel/corporate
  • pro 环境改为从 MODEL_PERSONAL_URLMODEL_CORPORATE_URL 读取真实接口地址。
  • ModelService 拆分为 invokePersonalModelinvokeCorporateModel,分别返回 ModelRetailOutputFieldsModelCorpOutputFields
  • LoanPricingModelService 根据 custType 调用对应模型接口,个人只写个人模型输出表,企业只写企业模型输出表。
  • mock 控制器拆分为个人、企业两个入口,不再保留统一 mock 路径作为业务调用入口。

字段管理

  • 个人模型返回字段继续由 ModelRetailOutputFieldsmodel_retail_output_fields 管理。
  • 企业模型返回字段继续由 ModelCorpOutputFieldsmodel_corp_output_fields 管理。
  • 未新增统一返回对象,避免个人/企业字段混在同一套结构中。

验证记录

  • 后端单测:
    • mvn -pl ruoyi-loan-pricing -am -Dtest=LoanPricingModelServiceTest,ModelRetailOutputFieldsTest,ModelCorpOutputFieldsTest -Dsurefire.failIfNoSpecifiedTests=false test
    • 结果:通过,Tests run: 5, Failures: 0, Errors: 0
  • 后端打包与启动:
    • ./bin/restart_java_backend.sh restart
    • 结果:打包成功,提升权限后启动成功,后端监听 63310
  • 真实接口验证:
    • /login/test 获取 token 成功。
    • 调用 /loanPricing/workflow/create/personal 创建个人流程,流水号 20260427150819677
    • 查询个人详情,返回 modelRetailOutputFields.finalCalculateRate=6.05modelCorpOutputFields=null
    • 调用 /loanPricing/workflow/create/corporate 创建企业流程,流水号 20260427150820494
    • 查询企业详情,返回 modelCorpOutputFields.finalCalculateRate=3.732modelRetailOutputFields=null
    • 缺少 custIsn 的个人创建请求返回 客户内码不能为空
    • 后端日志确认个人命中 /rate/pricing/mock/invokeModel/personal,企业命中 /rate/pricing/mock/invokeModel/corporate
  • 测试结束后已执行 ./bin/restart_java_backend.sh stop 停止本次启动的后端进程。

注意事项

  • 生产环境启动前必须提供 MODEL_PERSONAL_URLMODEL_CORPORATE_URL
  • 本次不改前端页面和现有业务接口路径。