| 文档名称 |
活动报名归属银行ID优化 - 产品需求文档 |
| 文档版本 |
V1.1 |
| 创建日期 |
2025-10-20 |
| 最后更新 |
2025-11-05 |
| 文档状态 |
已评审 |
| 负责人 |
朱宗贤 |
| 相关人员 |
[产品/开发人员] |
1. 项目概述
1.1 项目背景
当前活动报名系统中,银行归属关系的管理存在问题:
- 拉生意进行活动报名时,未根据拓客行号来处理归属关系,导致全部活动报名商户归属总行
- 云聚宝等特殊调用方的归属关系处理需求与标准流程存在差异
1.2 项目目标
- 目标1:优化活动报名系统中的银行ID字段,系统收到报名成功回调通知时,根据报名信息中的拓客行号找到对应机构银行ID,将商户关联到最细颗粒度的银行ID。
- 目标2:对于云聚宝调用,数据库中保存活动ID白名单,命中白名单的报名,不做商户绑定,待云聚宝调用绑定接口时再进行绑定。
2. 功能需求
2.1 功能列表
| 功能模块 |
功能名称 |
优先级 |
状态 |
备注 |
| 云聚宝接口调用 |
命中白名单活动ID |
高 |
未开始 |
确保云聚宝所有流程不变 |
| 回调通知 |
银行归属优化 |
高 |
未开始 |
自动报名、手动报名均将商户归属到拓客行号可找到的最细颗粒度银行ID |
2.2 功能详述
2.2.1 云聚宝接口调用标记功能
功能描述
对于云聚宝调用,数据库中保存活动ID白名单,命中白名单的报名,不做商户绑定,待云聚宝调用绑定接口时再进行绑定。
业务规则
1. 调用方识别规则
- 活动报名时,为命中白名单的活动ID的商户,跳过绑定银行
2. 归属关系处理规则
- 待云聚宝调绑定接口时,再处理绑定
- 保持云聚宝现有业务流程完全不变
3. 数据一致性规则
- 标记一旦设置,不可修改
- 历史数据不受影响,仅对新增的云聚宝调用生效
- 提供数据迁移脚本,为已有的云聚宝报名数据补充标记
接口变更说明
1. 请求参数变更
2. 响应数据变更
- 返回数据中新增
api_channel 字段,标识调用方类型
测试用例
1. 正常流程测试
- 云聚宝调用接口,验证标记正确设置
- 验证银行归属按云聚宝规则处理
- 验证响应数据包含正确字段
2. 边界情况测试
- 非云聚宝调用,验证按拓客行号绑定
- 云聚宝绑定调用未传银行ID,验证使用活动所属银行ID
- 历史数据查询,验证不受影响
3. 性能测试
- 验证标记字段不影响接口响应时间
- 验证数据库查询性能不受影响
2.2.2 回调通知银行归属优化功能
功能描述
优化活动报名系统回调通知处理逻辑,系统收到报名成功回调通知时,根据报名信息中的拓客行号找到对应机构银行ID,将商户关联到最细颗粒度的银行ID。支持自动报名和手动报名两种场景。
业务规则
1. 拓客行号处理规则
- 系统收到报名成功回调通知时,提取报名信息中的拓客行号
- 根据拓客行号在银行机构表中查找对应的银行ID
- 如果找不到对应的银行ID,则使用活动ID所属的银行ID
2. 数据一致性规则
- 回调处理失败时,需要有重试机制
- 重试次数达到上限后,记录异常并告警
- 提供手动补偿机制,支持批量重新处理
- 所有操作记录详细的审计日志
测试用例
1. 正常流程测试
- 自动报名回调,验证银行归属正确匹配
- 手动报名回调,验证银行归属正确匹配
- 各层级银行匹配测试(网点、支行、分行、总行)
2. 边界情况测试
- 拓客行号为空,验证使用默认银行ID
- 拓客行号不存在,验证使用默认银行ID
- 多个匹配结果,验证返回有效银行ID
3. 异常处理测试
- 回调处理失败,验证重试机制
- 重试次数超限,验证异常记录和告警
- 数据库连接异常,验证事务回滚
2.3 接口需求
- 活动报名接口:支持云聚宝调用方识别和标记
- 回调通知接口:接收报名成功通知,处理银行归属关系
- 银行信息查询接口:根据拓客行号查找对应银行ID
3. 测试需求
3.1 测试策略
- 单元测试:覆盖核心业务逻辑(调用方识别、拓客行号匹配)
- 集成测试:验证接口间的数据流转和归属关系处理
- 系统测试:验证完整业务流程(云聚宝调用、回调处理)
3.2 测试用例
3.2.1 云聚宝调用标记功能测试用例
1. 正常流程测试
2. 边界情况测试
- 非云聚宝商户报名,按正常拓客行号匹配
- 云聚宝绑定调用未传银行ID,验证使用活动所属银行ID
- 历史数据查询,验证不受影响
- 多种识别方式同时存在,验证优先级处理
3. 异常处理测试
- 请求头格式错误,验证默认处理逻辑
- API密钥无效,验证安全拦截
- IP不在白名单,验证默认处理逻辑
3.2.2 回调通知银行归属优化功能测试用例
1. 正常流程测试
- 自动报名回调,验证银行归属正确匹配
- 手动报名回调,验证银行归属正确匹配
- 各层级银行匹配测试(网点、支行、分行、总行)
- 拓客行号匹配成功,验证归属关系更新
2. 边界情况测试
- 拓客行号为空,验证使用默认银行ID
- 拓客行号不存在,验证使用默认银行ID
- 多个匹配结果,验证返回有效银行ID
- 银行层级不存在,验证向上层级查找
3. 异常处理测试
- 回调处理失败,验证重试机制
- 重试次数超限,验证异常记录和告警
- 数据库连接异常,验证事务回滚
- 银行信息表异常,容灾处理机制