Files
tyapi-server/internal/domains/api/services/processors/dwbg/dwbg9fb3.md
2026-06-10 17:47:36 +08:00

5.9 KiB
Raw Blame History

DWBG9FB3 个人风险档案 — 响应结构说明

概述

DWBG9FB3(个人风险档案)本身是一个独立接口,接收三要素入参后,并发调用 12 个子产品处理器,将各子接口原始返回数据直接拼接融合为一个 JSON 对象返回。

  • 不使用 success / data / error 等包装结构
  • 顶层 key 为简短英文单词字段名
  • 每个大字段的 value 即为对应子处理器的原始返回对象
  • 子产品调用失败时,该字段值为 null,不影响其他字段
  • 汇总时递归剔除上游流水号字段:order_noorderNo

最终扁平结构dwbg9FB3OutputSchema

顶层共 13 个 key,由 buildDWBG9FB3Responsedwbg9FB3OutputSchema 构造:

序号 顶层 key 产品编码 数据来源方法 value 类型
1 RA buildDWBG9FB3RA 对象6 个评分字段)
2 presence YYSYE7V5 ProcessYYSYE7V5Request 对象 / null
3 duration YYSYP0T4 ProcessYYSYP0T4Request 对象 / null
4 triple YYSYK9R4 ProcessYYSYK9R4Request 对象 / null
5 identity IVYZN2P8 ProcessIVYZN2P8Request 对象 / null
6 fraud JRZQV3HM ProcessJRZQV3HMRequest 对象 / null
7 probe JRZQ4B6C ProcessJRZQ4B6CRequest 对象 / null
8 rating JRZQ5E9F ProcessJRZQ5E9FRequest 对象 / null
9 intent JRZQ3C7B ProcessJRZQ3C7BRequest 对象 / null
10 special JRZQV7MD ProcessJRZQV7MDRequest 对象 / null
11 complaint JRZQVT43 ProcessJRZQVT43Request 对象 / null
12 behavior JRZQV0MD ProcessJRZQV0MDRequest 对象 / null
13 judicial FLXG7E8F ProcessFLXG7E8FRequest 对象 / null

RA 子结构

key 计算方法 说明
ra_score buildDWBG9FB3RA 综合安全分(千分制)
ra_level raLevelFromScore A-F 等级(每档 100 分)
ra_fraud_score calcRAFraudScore 欺诈维度安全分
ra_credit_score calcRACreditScore 借贷维度安全分
ra_judicial_score calcRAJudicialScore 司法维度安全分
ra_verify_score calcRAVerifyScore 核验维度安全分

请求参数

{
  "id_card": "110101199001011234",
  "name": "张三",
  "mobile_no": "13800138000"
}

响应结构

顶层为一个扁平对象,包含总体风险评估 RA 与 12 个子维度字段:

{
  "RA": {
    "ra_score": 495,
    "ra_level": "F",
    "ra_fraud_score": 890,
    "ra_credit_score": 0,
    "ra_judicial_score": 580,
    "ra_verify_score": 850
  },
  "presence": { },
  "duration": { },
  "triple": { },
  "identity": { },
  "fraud": { },
  "probe": { },
  "rating": { },
  "intent": { },
  "special": { },
  "complaint": { },
  "behavior": { },
  "judicial": { }
}

RA 总体安全评估(千分制,越高越安全)

字段 计算方法 说明
ra_fraud_score calcRAFraudScore 欺诈/黑名单维度安全分
ra_credit_score calcRACreditScore 借贷/逾期维度安全分
ra_judicial_score calcRAJudicialScore 司法涉诉维度安全分
ra_verify_score calcRAVerifyScore 身份/在网核验维度安全分
ra_score buildDWBG9FB3RA 四维安全分加权汇总
ra_level raLevelFromScore A 最安全F 最不安全

综合分权重:fraud 25% + credit 35% + judicial 25% + verify 15%

等级划分A(900-1000)、B(800-899)、C(700-799)、D(600-699)、E(500-599)、F(0-499)

各维度统计方式:先由 *RiskPoints 方法累计风险扣分,再 安全分 = 1000 - 扣分

详细规则见 dwbg9fb3_ra.md

响应示例

{
  "RA": {
    "ra_score": 495,
    "ra_level": "F",
    "ra_fraud_score": 890,
    "ra_credit_score": 0,
    "ra_judicial_score": 580,
    "ra_verify_score": 850
  },
  "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,其余字段正常返回:

{
  "presence": {
    "status": "1",
    "operator": "1"
  },
  "judicial": null
}

调用流程

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[英文字段名]子处理器原始数据
  • 子产品数据保持各处理器原有返回结构,不做二次转换。