Skip to content

BCRC-TCS 风险交易组合系统

一、系统概述

BCRC-TCS 是微众银行消费金融(COE)板块下的风控中台核心系统,负责在贷款和信用卡业务全生命周期中执行反欺诈检测、征信评估和审批决策。

属性
GroupIdcn.webank.cnc.bcrc
ArtifactIdbcrc-tcs-parent
Java 版本Java 21
父 POMcn.webank.cnc.risksdk:brisk-sdk-parent-for-lombok:4.0.0-SNAPSHOT
系统编号Z386
代码规模~759 个 Java 文件
SCMgit@code.weoa.com:COE-CNC-Loan/bcrc-tcs.git

技术栈

技术项版本/描述
Spring BootSpring Boot 3.x(jakarta.persistence)
消息中间件RMB(支持MASA协议)
数据库TDSQL(MySQL兼容),MyBatis ORM
规则引擎CCL(cn.webank.cnc.ccl
状态机zcnc-sdk-starter-state-machine
限流/熔断zcnc-sdk-starter-flowcontrol
缓存Caffeine + Spring Cache
业务参数管理BMP(zbmp-service-sdk

双产品部署架构

部署产品数据库名配置目录
贷款业务bcrctcsdbconf/bcrc-tcs-service/
信用卡业务ccrctcsdbconf/cccrc-tcs-service/

二、模块结构(7 个 Maven 子模块)

2.1 bcrc-tcs-db — 数据库定义模块

  • ERM 模型文件、MyBatis Mapper XML 扩展
  • 无 Java 源代码,DAO 由 SDK 自动生成

2.2 bcrc-tcs-common — 公共基础模块

  • 全系统共享常量、枚举(80+)、DTO、工具类
  • DAO 基础类和拦截器

2.3 bcrc-tcs-infra — 基础设施层(最大模块)

  • 反欺诈核心业务逻辑
  • 数据源查询、规则引擎调用
  • 配置管理、状态机、DAO 服务(20 个)
  • 外部服务调用(SAO)

2.4 bcrc-tcs-facility — 流程编排层

  • 基于状态机 SDK 实现审批流程编排
  • 流程上下文模型和节点抽象基类
  • 流程启动/恢复、网关层

2.5 bcrc-midafs — 反欺诈中台服务

  • 反欺诈 RMB 消息入口(FDAF/SDAF/FDLF/SDLF)
  • 数据源、线程池、定时任务配置

2.6 bcrc-midaps-service — 信审中台服务

  • 征信准入评估、征信查询、审批决策
  • 信用评估全流程子系统

2.7 bcrc-tcs-service — 应用启动模块

  • Spring Boot 启动类
  • RMB 消息统一入口(RmbEntrance
  • 线程池配置、定时任务

三、核心类详解

3.1 反欺诈服务入口

路径职责
SyncFdafServicebcrc-midafs/.../service/开户一反(FDAF)同步入口
SyncSdafServicebcrc-midafs/.../service/开户二反(SDAF)同步入口
SyncFdlfServicebcrc-midafs/.../service/借款一反(FDLF)同步入口
SyncSdlfServicebcrc-midafs/.../service/借款二反(SDLF)同步入口

每种服务都有对应的 Face 版本用于刷脸核身场景。

3.2 RMB 统一入口 — RmbEntrance

  • 路径: bcrc-tcs-service/.../apis/service/RmbEntrance.java
  • 职责: 新状态机架构的 RMB 统一入口
方法配置项业务含义
processCreditPretcsCreditPreServiceId授信预审
processCredittcsCreditServiceId授信审批
processLoanPretcsLoanPreServiceId借款预审
processLoantcsLoanServiceId借款审批
processAfsNodetcsAfsServiceId反欺诈节点
processApsNodetcsApsServiceId信审节点
processCvsNodetcsCvsServiceId人工审核节点
processAfsNodeCallbacktcsAfsCallbackServiceId反欺诈回调
processApsNodeCallbacktcsApsCallbackServiceId信审回调
processCvsNodeCallbacktcsCvsCallbackServiceId人工审核回调
processNotifyResultNodetcsNotifyResultServiceId结果通知

3.3 状态机流程 — StateMachineStarter

  • 路径: bcrc-tcs-facility/.../flow/StateMachineStarter.java
  • 关键方法:
    • proc(FlowDataContext) — 初始化 → 加载配置 → 受理 → 启动状态机
    • resume() — 异步回调恢复状态机继续执行

3.4 流程节点基类 — AbstractNode

  • 路径: bcrc-tcs-facility/.../node/AbstractNode.java
  • 抽象方法: doBizProcess()(业务逻辑)、doCallBackBizProcess()(回调逻辑)

具体节点实现:ApplyAcceptNode(受理)、NotifyServiceNode(通知)、UpdateOrderNode(更新工单)

3.5 反欺诈核心 — LaunchAfsCaseBizService

  • 路径: bcrc-tcs-infra/.../biz/handler/LaunchAfsCaseBizService.java
  • 职责: 通用反欺诈工单发起,协调数据源查询和规则引擎
  • 流程: 生成流水号 → 保存数据 → 构造工单 → 去重 → 数据上报 → 锁定 → 数据源查询 → 规则引擎 → 返回结论

3.6 规则引擎 — CommEngineService

  • 路径: bcrc-tcs-infra/.../eng/CommEngineService.java
  • 职责: 调用 CCL 规则引擎
  • 流程: 获取规则配置 → 构造引擎入参 → 调用引擎 → 入参挡板 → 出参挡板 → 保存结果
  • 熔断机制: isBreak() 根据配置和入参对比决定是否熔断,熔断后生成固定拒绝输出(BRK0001)

3.7 信用评估 — DefaultCreditAssess

  • 路径: bcrc-midaps-service/.../biz/process/DefaultCreditAssess.java
  • Bean 名称: defaultCreditAssess
  • 核心方法:
    • accessCredit() — 数据源准入规则校验
    • syncCris() — 征信同步处理
    • doComCreditCheck()综合准入授信:调用规则引擎,根据 OutLoanFlag(Y通过/N拒绝/P补查/W人工)决定结果,最大 20 轮递归

四、数据模型

4.1 申请数据表

表名用途
TM_APP_MAIN申请主表(产品、额度、状态、内部码)
TM_APP_MAIN_SUB申请子主表
TM_APP_BASE_INFO申请基础信息
TM_APP_CUST_INFO客户信息(姓名、证件、性别)
TM_APP_DEVICE_INFO设备信息(型号、IP、GPS)
TM_APP_KYC_FACE_INFOKYC 人脸验证信息
TM_APP_BANK_CARD_INFO银行卡信息
TM_APP_BASE_RATE_INFO定价信息(利率、罚息)

4.2 中台回调表

表名用途
TM_MID_AFS_RESULT反欺诈回调(结论、风险等级、拒绝码)
TM_MID_APS_RESULT信审回调(建议额度、利率标识)
TM_CVS_CHK_RESULTCVS 人工审核回调

4.3 反欺诈专用表

表名用途
TM_AFS_CASE反欺诈工单表
TM_AFS_DATA_STATUS数据源查询状态表
TM_INPUT_ENG_ALL规则引擎输入参数表
TM_OUTPUT_BASE规则引擎输出基础表
TM_DATA_ALL_JSON接口全量数据(JSON 存储)

4.4 征信专用表

表名用途
TM_ASYNC_MSG_STATUS异步消息状态管理
TM_STRA_ENG_INPUT_ZIP规则参数压缩表
TM_APP_HISTORY审批操作记录

4.5 流程控制表

表名用途
TM_SYS_FLOW_DATA_CONTEXT工单阶段上下文
TM_STATE_MACHINE_CTL状态机控制
TM_SYS_SUSP_NODE挂起节点执行

五、风控决策引擎

5.1 反欺诈服务类型

服务简称含义入口类
FDAF开户一反SyncFdafService
SDAF开户二反SyncSdafService
FDLF借款一反SyncFdlfService
SDLF借款二反SyncSdlfService

5.2 ActionCode 行动码机制

行动码含义处理方式
PASS通过直接通过
REJECT拒绝直接拒绝
FACE待刷脸等待回调
WAIT审批中等待下游
CBACK等待补充信息等待上游
DLCKA延时审核(AOB)延时+外呼
DLCKX延时审核(电诈)延时审批
TFMR电诈强提示强制提示
FGPS强制授权 GPS要求客户授权

5.3 内部码编码

内部码 = 节点名称(6位) + 状态标识(1位) + 状态编号(2位)

内部码ActionCode含义
COMSYSS01PASS审批通过
COMSYSR02REPEAT重入拒绝
MIDAFSR01REJECT反欺诈拒绝
MIDAFSS01PASSFGPS
MIDAFSS04CBACKFACE
MIDAPSR01REJECT信审拒绝

六、业务流程

6.1 新版状态机流程

上游系统 → RmbEntrance → StateMachineStarter.proc()
    ├── [受理节点] ApplyAcceptNode
    │     └── 数据校验、工单创建
    ├── [反欺诈节点] (异步挂起)
    │     └── 数据源查询 → CCL规则引擎 → 返回结论
    ├── [信审节点] (异步挂起)
    │     └── 征信查询 → 准入规则 → 综合授信
    ├── [CVS核查节点] (异步挂起)
    │     └── 人工审核 → 返回审核结论
    ├── [AOB外呼节点] (异步挂起)
    │     └── 电诈外呼确认
    ├── [更新工单节点] → 更新状态/内部码
    └── [通知节点] → RMB返回上游

6.2 综合准入授信流程

DefaultCreditAssess.doComCreditCheck()
    → 调用规则引擎 → 获取 OutLoanFlag
        ├── Y → 通过
        ├── N → 拒绝
        ├── P → 补查数据源 → 递归(最多20轮)
        └── W → 人工介入

七、配置与部署

7.1 RMB 服务 ID

服务 ID场景用途
0620119201授信预审
0620119401授信审批
0620119601借款预审
0620119801借款审批
0620120001上游回调

7.2 关键配置

配置项说明
systemIdZ386系统编号
cnc.sdk.stateMachine.enableY启用状态机
cnc.sdk.rmb.unionRmbRepeatChktrueRMB 防重
cnc.sdk.rmb.enableMasaServicetrue启用 MASA

7.3 双数据库部署

  • 贷款: bcrctcsdbconf/bcrc-tcs-service/
  • 信用卡: ccrctcsdbconf/cccrc-tcs-service/

八、外部系统集成

上游业务系统(贷款/信用卡申请)
    │ RMB (06201192~06201198)

RmbEntrance(统一入口)


StateMachineStarter(状态机驱动)
    ├── AFS Node → CCL Engine(规则引擎)
    ├── APS Node → CRIS Query(征信查询)
    ├── CVS Node → CVS System(人工审核)
    └── AOB Node → 外呼系统


RCS Report(风控上报)/ CAP WAAS(回调通知)
系统集成方式说明
贷款/信用卡申请系统RMB 消费接收申请请求
CCL 规则引擎API 调用策略规则包执行
征信中心(CRIS)异步 RMB征信查询
DCDPS异步回调数据源查询回调
CVS 人工审核RMB 回调审核结果
AOB 外呼RMB 回调电诈确认
BMP 参数管理BMP SDK在线配置管理
RCS 风控上报RCS SDK风险数据上报

本报告基于 BCRC-TCS 系统源代码静态分析生成,覆盖 759 个 Java 文件。