This commit is contained in:
Mrx
2026-06-10 16:05:47 +08:00
parent 50f21283e8
commit 9d4a3f584c
3 changed files with 412 additions and 21 deletions

View File

@@ -0,0 +1,174 @@
# DWBG9FB3 个人风险档案 — 响应结构说明
## 概述
`DWBG9FB3`(个人风险档案)本身是一个独立接口,接收三要素入参后,**并发**调用 12 个子产品处理器,将各子接口原始返回数据**直接拼接融合**为一个 JSON 对象返回。
- 不使用 `success` / `data` / `error` 等包装结构
- 顶层 key 为简短**英文单词**字段名
- 每个大字段的 value 即为对应子处理器的原始返回对象
- 子产品调用失败时,该字段值为 `null`,不影响其他字段
## 字段映射表
| 产品编码 | 产品名称 | 英文字段名 | 子处理器 |
| :--- | :--- | :--- | :--- |
| YYSYE7V5 | 手机在网状态V即时版 | `presence` | `ProcessYYSYE7V5Request` |
| YYSYP0T4 | 手机号码在网时长V即时版 | `duration` | `ProcessYYSYP0T4Request` |
| YYSYK9R4 | 全网手机三要素验证 | `triple` | `ProcessYYSYK9R4Request` |
| IVYZN2P8 | 公安二要素政务版 | `identity` | `ProcessIVYZN2P8Request` |
| JRZQV3HM | 债务欺诈黑名单V3 | `fraud` | `ProcessJRZQV3HMRequest` |
| JRZQ4B6C | 探针C | `probe` | `ProcessJRZQ4B6CRequest` |
| JRZQ5E9F | 借选指数 | `rating` | `ProcessJRZQ5E9FRequest` |
| JRZQ3C7B | 借贷意向验证 | `intent` | `ProcessJRZQ3C7BRequest` |
| JRZQV7MD | 特殊名单 | `special` | `ProcessJRZQV7MDRequest` |
| JRZQVT43 | 投诉风险筛查V709 | `complaint` | `ProcessJRZQVT43Request` |
| JRZQV0MD | 行为黑名单 | `behavior` | `ProcessJRZQV0MDRequest` |
| FLXG7E8F | 个人司法数据查询 | `judicial` | `ProcessFLXG7E8FRequest` |
## 请求参数
```json
{
"id_card": "110101199001011234",
"name": "张三",
"mobile_no": "13800138000"
}
```
## 响应结构
顶层为一个扁平对象12 个字段并列,每个字段 value 为子处理器原始返回的 JSON 对象:
```json
{
"presence": { },
"duration": { },
"triple": { },
"identity": { },
"fraud": { },
"probe": { },
"rating": { },
"intent": { },
"special": { },
"complaint": { },
"behavior": { },
"judicial": { }
}
```
## 响应示例
```json
{
"presence": {
"status": "1",
"operator": "1"
},
"duration": {
"result": "3",
"desc": "在网时长12-24个月"
},
"triple": {
"state": "1",
"operator": "1"
},
"identity": {
"result": 0,
"desc": "一致",
"sex": "男",
"birthday": "1990-01-01",
"address": "北京市东城区"
},
"fraud": {
"hit": 0
},
"probe": {
"score": 650,
"risk_level": "B"
},
"rating": {
"score": 720,
"level": "A"
},
"intent": {
"apply_loan": {
"d7": { "id": 0, "cell": 1 },
"m1": { "id": 1, "cell": 2 }
}
},
"special": {
"hit": 0
},
"complaint": {
"hit": 0
},
"behavior": {
"hit": 0
},
"judicial": {
"judicial_data": {
"lawsuitStat": {
"count_total": 0,
"count_jie_total": 0,
"count_wei_total": 0
},
"breachCaseList": [],
"consumptionRestrictionList": []
}
}
}
```
## 部分失败示例
某个子产品查无记录或异常时,对应字段为 `null`,其余字段正常返回:
```json
{
"presence": {
"status": "1",
"operator": "1"
},
"judicial": null
}
```
## 调用流程
```mermaid
flowchart LR
A[DWBG9FB3 请求] --> B[参数校验]
B --> C[并发调用 12 个子处理器]
C --> D1[presence]
C --> D2[duration]
C --> D3[triple]
C --> D4[identity]
C --> D5[fraud]
C --> D6[probe]
C --> D7[rating]
C --> D8[intent]
C --> D9[special]
C --> D10[complaint]
C --> D11[behavior]
C --> D12[judicial]
D1 --> E[拼接融合为一个对象]
D2 --> E
D3 --> E
D4 --> E
D5 --> E
D6 --> E
D7 --> E
D8 --> E
D9 --> E
D10 --> E
D11 --> E
D12 --> E
E --> F[返回 JSON]
```
## 实现说明
- 复用 `dwbg8b4d` 中的 `callProcessor`,通过 `CombService.GetProcessor` 按产品编码路由。
- 12 个 goroutine 并发执行,结果写入 `map[英文字段名]子处理器原始数据`
- 子产品数据保持各处理器原有返回结构,不做二次转换。