Files
ccdi/docs/plans/backend/2026-07-21-jzl-multiple-logid-backend-implementation.md

1.2 KiB

金综流水多 logId 处理后端实施计划

背景

金综 dataChannelCode=JZL 拉取链路可能在一次请求中返回多个 XML 文件对应的多个 logId。接入端如果只处理首个 logId,会导致同一证件号下后续金综 XML 文件未进入解析状态轮询、上传状态查询和流水明细落库。

实施内容

  • 将金综拉取响应处理从单个 logId 改为遍历 response.data 中全部非空 logId
  • 第一个 logId 复用拉取提交时创建的上传记录。
  • 第二个及后续 logId 自动创建独立上传记录,避免多个 XML 的文件名、账号、解析状态相互覆盖。
  • 每个 logId 独立执行解析状态轮询、文件状态查询、流水明细获取和落库。
  • 继续沿用最新代码中的 CallerContext,确保流水平台调用仍写入外部接口日志。
  • 单个 logId 失败只标记对应记录失败,不中断其余 logId;本次证件号任务至少一个 logId 成功即视为成功。

验证计划

  • 补充单元测试模拟金综返回 3 个 logId
  • 验证 3 个 logId 均调用解析状态轮询和流水明细查询。
  • 验证后续 logId 会新增独立上传记录,并保留证件号、上传人和上传中状态。