Split model URLs for personal and corporate clients

This commit is contained in:
wkc
2026-04-27 15:22:08 +08:00
parent 5a80653917
commit 571f7bc075
20 changed files with 393 additions and 158 deletions

View File

@@ -0,0 +1,35 @@
# 对公还款方式移除与抵质押字段联动实施记录
## 修改内容
- 对公新增弹窗移除 `还款方式` 输入项、初始化字段、重置字段、必填校验和提交字段。
- 对公详情页与模型输出展示移除 `还款方式`
- 对公、对私新增弹窗中,`担保方式``抵押``质押` 时才展示 `抵质押类型``抵质押物是否第三方所有`
- `抵质押类型` 根据担保方式动态切换:
- `抵押``一类``二类``三类``四类``其他`
- `质押``存单质押``其他`
- 担保方式切换时清空已选抵质押类型和第三方所有标识,隐藏抵质押字段时不向后端提交。
- 对公创建 DTO 取消 `repayMethod` 必填与枚举校验;`collType` 不再全局必填,合法值调整为 `一类/二类/三类/四类/其他/存单质押`
## 验证结果
- 前端静态测试通过:
- `npm run test:corporate-create-input-params`
- `npm run test:corporate-display-fields`
- `npm run test:personal-create-input-params`
- 后端编译与单测通过:
- `mvn -pl ruoyi-loan-pricing -am -Dtest=ModelCorpOutputFieldsTest -Dsurefire.failIfNoSpecifiedTests=false test`
- 后端接口验证通过:
- `信用` 不传 `repayMethod`、不传抵质押字段可创建。
- `抵押``一类` 且不传 `repayMethod` 可创建。
- `质押``存单质押` 且不传 `repayMethod` 可创建。
- 缺少 `custIsn`、缺少 `guarType`、非法 `guarType` 仍返回参数错误。
- 真实前端页面验证通过:
- 对公新增弹窗不显示 `还款方式`
- 对公、对私新增弹窗在 `信用/保证` 下隐藏抵质押字段。
- 对公、对私新增弹窗在 `抵押/质押` 下显示抵质押字段,且选项分别符合规则。
- 对公详情页与模型输出区域不再显示 `还款方式`
## 说明
- 本次不删除数据库字段和实体字段,仅停止创建入口要求和页面展示,保留历史数据结构。

View File

@@ -0,0 +1,41 @@
# 个人/企业模型接口拆分实施记录
## 修改内容
- 将统一模型接口配置 `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`
- 本次不改前端页面和现有业务接口路径。