42 lines
2.5 KiB
Markdown
42 lines
2.5 KiB
Markdown
|
|
# 个人/企业模型接口拆分实施记录
|
|||
|
|
|
|||
|
|
## 修改内容
|
|||
|
|
|
|||
|
|
- 将统一模型接口配置 `model.url` 拆分为 `model.personal-url` 和 `model.corporate-url`。
|
|||
|
|
- `dev`、`uat` 环境分别指向本地个人/企业 mock:
|
|||
|
|
- `http://localhost:63310/rate/pricing/mock/invokeModel/personal`
|
|||
|
|
- `http://localhost:63310/rate/pricing/mock/invokeModel/corporate`
|
|||
|
|
- `pro` 环境改为从 `MODEL_PERSONAL_URL`、`MODEL_CORPORATE_URL` 读取真实接口地址。
|
|||
|
|
- `ModelService` 拆分为 `invokePersonalModel` 和 `invokeCorporateModel`,分别返回 `ModelRetailOutputFields`、`ModelCorpOutputFields`。
|
|||
|
|
- `LoanPricingModelService` 根据 `custType` 调用对应模型接口,个人只写个人模型输出表,企业只写企业模型输出表。
|
|||
|
|
- mock 控制器拆分为个人、企业两个入口,不再保留统一 mock 路径作为业务调用入口。
|
|||
|
|
|
|||
|
|
## 字段管理
|
|||
|
|
|
|||
|
|
- 个人模型返回字段继续由 `ModelRetailOutputFields` 与 `model_retail_output_fields` 管理。
|
|||
|
|
- 企业模型返回字段继续由 `ModelCorpOutputFields` 与 `model_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.05`,`modelCorpOutputFields=null`。
|
|||
|
|
- 调用 `/loanPricing/workflow/create/corporate` 创建企业流程,流水号 `20260427150820494`。
|
|||
|
|
- 查询企业详情,返回 `modelCorpOutputFields.finalCalculateRate=3.732`,`modelRetailOutputFields=null`。
|
|||
|
|
- 缺少 `custIsn` 的个人创建请求返回 `客户内码不能为空`。
|
|||
|
|
- 后端日志确认个人命中 `/rate/pricing/mock/invokeModel/personal`,企业命中 `/rate/pricing/mock/invokeModel/corporate`。
|
|||
|
|
- 测试结束后已执行 `./bin/restart_java_backend.sh stop` 停止本次启动的后端进程。
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
- 生产环境启动前必须提供 `MODEL_PERSONAL_URL`、`MODEL_CORPORATE_URL`。
|
|||
|
|
- 本次不改前端页面和现有业务接口路径。
|