补充后端模型输入参数确认文档

This commit is contained in:
wkc
2026-04-09 16:08:31 +08:00
parent 09707d312e
commit f001047d0c
3 changed files with 99 additions and 3 deletions

View File

@@ -10,6 +10,34 @@
--- ---
## 后端模型输入参数确认
个人链路最终需要发给模型的 16 个参数如下:
- `serialNum`:服务层自动生成
- `orgCode`:服务层默认值,当前代码为 `892000`
- `runType`:服务层默认值 `1`
- `custIsn`:页面输入透传
- `custType`:个人链路固定 `个人`
- `custName`:页面输入,调用模型前解密后透传
- `idType`:页面输入透传
- `idNum`:页面输入,调用模型前解密后透传
- `guarType`:页面输入透传
- `applyAmt`:页面输入透传
- `loanPurpose`:页面输入透传
- `loanTerm`:页面输入透传
- `bizProof`:页面开关,调用模型前转 `0/1`
- `loanLoop`:页面开关,调用模型前转 `0/1`
- `collThirdParty`:页面开关,调用模型前转 `0/1`
- `collType`:页面下拉透传
调用方式确认:
- 参数载体:`ModelInvokeDTO`
- 组装方式:`BeanUtils.copyProperties(loanPricingWorkflow, modelInvokeDTO)`
- 请求格式:`application/x-www-form-urlencoded`
- 发送入口:`ModelService#invokeModel`
## 文件结构 ## 文件结构
- Modify: [ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java](/Users/wkc/Desktop/loan-pricing/loan-pricing/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java) - Modify: [ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java](/Users/wkc/Desktop/loan-pricing/loan-pricing/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java)
@@ -57,13 +85,21 @@ Expected: FAIL提示字段不存在或转换逻辑未实现
// 仅断言 PersonalLoanPricingCreateDTO / LoanPricingConverter / ModelInvokeDTO / LoanPricingModelService // 仅断言 PersonalLoanPricingCreateDTO / LoanPricingConverter / ModelInvokeDTO / LoanPricingModelService
``` ```
- [ ] **Step 4: 再次运行测试确认失败原因稳定** - [ ] **Step 4: 增加最终模型请求参数断言**
```java
// 断言 requestBody 包含 serialNum、orgCode、runType、custIsn、custType、custName、
// idType、idNum、guarType、applyAmt、loanPurpose、loanTerm、bizProof、
// loanLoop、collThirdParty、collType
```
- [ ] **Step 5: 再次运行测试确认失败原因稳定**
Run: `mvn -pl ruoyi-loan-pricing -Dtest=LoanPricingModelServicePersonalParamsTest test` Run: `mvn -pl ruoyi-loan-pricing -Dtest=LoanPricingModelServicePersonalParamsTest test`
Expected: FAIL失败点与新增字段缺失一致 Expected: FAIL失败点与新增字段缺失一致
- [ ] **Step 5: 提交** - [ ] **Step 6: 提交**
```bash ```bash
git add ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/service/LoanPricingModelServicePersonalParamsTest.java git add ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/service/LoanPricingModelServicePersonalParamsTest.java
@@ -176,7 +212,8 @@ Run: 调用 `POST /loanPricing/workflow/create/personal`
Expected: Expected:
- 返回创建成功 - 返回创建成功
- 请求体包含 `loanPurpose``loanTerm` - 请求体包含 `loanPurpose``loanTerm`
- 模型请求中带出 `loanLoop` - 模型请求中完整带出 16 个参数
- 其中 `bizProof``loanLoop``collThirdParty``0/1`
- [ ] **Step 3: 验证必填缺失场景** - [ ] **Step 3: 验证必填缺失场景**

View File

@@ -218,6 +218,63 @@
5. `LoanPricingModelService` 在调用模型前,将个人链路中的开关字段转换为 `0/1` 5. `LoanPricingModelService` 在调用模型前,将个人链路中的开关字段转换为 `0/1`
6. `ModelService` 继续以 `application/x-www-form-urlencoded` 方式调用模型接口 6. `ModelService` 继续以 `application/x-www-form-urlencoded` 方式调用模型接口
### 6.3.1 后端模型调用输入参数确认
后端最终发给模型的个人入参,按 Excel 要求确认为以下 16 个字段:
- `serialNum`
- 来源:`LoanPricingWorkflowServiceImpl#createLoanPricing` 自动生成
- `orgCode`
- 来源:`LoanPricingWorkflowServiceImpl#createLoanPricing` 默认赋值
- 当前代码值:`892000`
- `runType`
- 来源:`LoanPricingWorkflowServiceImpl#createLoanPricing`
- 当前值:`1`
- `custIsn`
- 来源:页面输入,经个人创建 DTO 和转换器透传
- `custType`
- 来源:`LoanPricingConverter#toEntity(PersonalLoanPricingCreateDTO)`
- 当前值:固定 `个人`
- `custName`
- 来源:页面输入
- 说明:入库时加密,调用模型前解密
- `idType`
- 来源:页面输入
- `idNum`
- 来源:页面输入
- 说明:入库时加密,调用模型前解密
- `guarType`
- 来源:页面输入
- `applyAmt`
- 来源:页面输入
- `loanPurpose`
- 来源:页面输入
- 当前状态:需补齐到个人 DTO、流程实体映射和模型 DTO
- `loanTerm`
- 来源:页面输入
- 当前状态:需补齐到个人 DTO、流程实体映射和模型 DTO
- `bizProof`
- 来源:页面开关
- 模型值:调用模型前统一转换为 `0/1`
- `loanLoop`
- 来源:页面开关
- 当前状态:需补齐到模型 DTO
- 模型值:调用模型前统一转换为 `0/1`
- `collThirdParty`
- 来源:页面开关
- 模型值:调用模型前统一转换为 `0/1`
- `collType`
- 来源:页面下拉
- 模型值:按 `一类/二类/三类` 直接透传
后端调用方式确认如下:
- 参数载体:`ModelInvokeDTO`
- 参数来源:`BeanUtils.copyProperties(loanPricingWorkflow, modelInvokeDTO)`
- 请求构造:`ModelService#entityToMap`
- 请求格式:`application/x-www-form-urlencoded`
- 发送入口:`ModelService#invokeModel`
### 6.4 展示闭环 ### 6.4 展示闭环
为保证输入项可在详情页回看,个人详情页同步补齐: 为保证输入项可在详情页回看,个人详情页同步补齐:
@@ -240,6 +297,7 @@
- 前端源码断言个人新增弹窗已出现 `loanPurpose``loanTerm` - 前端源码断言个人新增弹窗已出现 `loanPurpose``loanTerm`
- 前端源码断言 `loanTerm` 为固定下拉、`collType` 选项为 `一类/二类/三类` - 前端源码断言 `loanTerm` 为固定下拉、`collType` 选项为 `一类/二类/三类`
- 后端测试或源码断言 `PersonalLoanPricingCreateDTO``LoanPricingConverter``ModelInvokeDTO` 已补齐字段 - 后端测试或源码断言 `PersonalLoanPricingCreateDTO``LoanPricingConverter``ModelInvokeDTO` 已补齐字段
- 后端测试或日志断言调用模型前最终请求参数完整包含以上 16 个字段
- 重启后端后,覆盖以下接口验证: - 重启后端后,覆盖以下接口验证:
- 正常场景:完整参数创建成功 - 正常场景:完整参数创建成功
- 必填缺失场景:缺少 `loanPurpose``loanTerm` 被拦截 - 必填缺失场景:缺少 `loanPurpose``loanTerm` 被拦截

View File

@@ -11,6 +11,7 @@
- 明确 `loanTerm` 使用固定年限下拉,选项按 Excel 组织 - 明确 `loanTerm` 使用固定年限下拉,选项按 Excel 组织
- 明确系统字段 `serialNum``orgCode``runType``custType` 继续自动带值 - 明确系统字段 `serialNum``orgCode``runType``custType` 继续自动带值
- 明确个人开关字段在模型调用层转换为 `0/1` - 明确个人开关字段在模型调用层转换为 `0/1`
- 补充确认后端最终发给模型的 16 个输入参数、来源、请求格式与验证口径
## 修改文件 ## 修改文件
- `doc/2026-04-09-shangyu-retail-input-params-design.md` - `doc/2026-04-09-shangyu-retail-input-params-design.md`