3.3 KiB
3.3 KiB
征信解析双接口与结果轮询实施记录
背景
本次按 天座征信解析接口文档.xlsx 调整征信解析调用方式:由单次发起接口直接获取 payload,改为发起接口 /api/service/interface/invokeService/xfeature 加结果接口 /api/service/interface/invokeService/xfeatureResult 的两步调用。
修改内容
-
CreditParseClient- 保持原有
parse方法签名不变。 - 发起接口提交
serialNum/orgCode/runType/remotePath/model。 - 结果接口使用同一
serialNum提交serialNum/orgCode/runType。 - 结果接口最多轮询 5 次,每次间隔 2 秒。
- 严格校验外层
success=true、code=10000和业务层status_code=0。
- 保持原有
-
配置
application-dev.yml、application-uat.yml、application-nas.yml、application-pro.yml新增credit-parse.api.result-url。- 上述环境的
credit-parse.api.org-code统一调整为999000。
-
CcdiCreditInfoServiceImpl- 征信维护落库前补充外层
code=10000校验。 - 上传入口、HTML 保存、
remotePath生成和落库字段映射保持不变。
- 征信维护落库前补充外层
-
lsfx-mock-server/xfeature改为发起接口,只暂存结果并返回发起成功结构。- 新增
/xfeatureResult,按serialNum返回暂存 payload。 - Mock README 和启动路由说明同步更新。
-
测试
- Java 测试补充同一
serialNum双接口调用、5 次轮询、2 秒间隔和外层状态码校验。 - Mock 测试补充发起接口、结果接口、缺参、未知流水号和 payload 返回。
- Java 测试补充同一
影响范围
- 影响征信解析客户端、征信维护上传后的解析调用、征信解析 Mock 服务和相关环境配置。
- 不涉及前端页面、前端 API、数据库表结构和业务 payload 字段变更。
验证
mvn -pl ccdi-lsfx -Dtest=CreditParseControllerTest test:通过,6 个用例成功。mvn -pl ccdi-info-collection -am -Dtest=CcdiCreditInfoServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test:通过,4 个用例成功。mvn -pl ccdi-lsfx,ccdi-info-collection -am compile:通过。cd lsfx-mock-server && python3 -m pytest tests/test_credit_api.py tests/test_startup.py -q:通过,9 个用例成功。git diff --check:通过。- 后端联调:
- 启动
lsfx-mock-server,并通过bin/restart_java_backend.sh restart重启后端。 - 调用
/login/test获取测试令牌后,通过/ccdi/creditInfo/upload上传本轮 HTML 测试文件。 - 上传结果:
totalCount=1、successCount=1、failureCount=0。 - 列表按身份证号
330781199001019914查询到 1 条征信记录。 - 后端日志确认同一个
serialNum先调用/api/service/interface/invokeService/xfeature,再调用/api/service/interface/invokeService/xfeatureResult。 - 调用删除接口清理本轮测试数据,回查列表
total=0。 - 本轮启动的 mock 和后端进程已关闭。
- 启动
- 浏览器验证说明:
- 已使用 browser-use 打开本地前端并完成登录。
- 后端重启后,浏览器旧登录态触发接口 500,且 browser-use 安全策略阻止通过
javascript:URL 清理本地状态,因此未继续执行页面上传动作。 - 已改用真实后端接口完成上传、落库、日志和清理闭环验证。