Files
ccdi/docs/reports/implementation/2026-05-12-credit-parse-remote-path-backend-implementation.md

3.8 KiB
Raw Blame History

征信解析远程路径调用改造实施记录

背景

天座征信解析接口调用方式变更:不再直接 multipart 上传 HTML 文件,改为先将 HTML 保存到业务服务器可访问目录,再将完整远程访问地址作为 remotePathapplication/x-www-form-urlencoded 表单参数提交到新接口。

本次按新接口文档确认输出外层结构为 success/code/data/mappingOutputFields,其中 mappingOutputFields.payload 内部仍沿用原有 lx_header/lx_debt/lx_publictype 结构。

修改内容

  1. 后端上传处理

    • 上传入口 /ccdi/creditInfo/upload 保持不变。
    • 新增 CreditHtmlStorageService,校验通过后的 HTML 保存到 ruoyi.profile/credit-html/...
    • 根据 credit-parse.api.file-public-base-url/profile/credit-html/... 拼接生成 remotePath
    • 征信维护落库逻辑改为调用 CreditParseClient.parse(remotePath),后续日期校验、落库、失败记录逻辑保持原样。
  2. 天座接口客户端

    • CreditParseClient 改为提交 serialNum/orgCode/runType/remotePath/model 表单参数。
    • HttpUtil 增加 postUrlEncodedForm 方法,统一提交 application/x-www-form-urlencoded
    • 新增 CreditParseInvokeResponseCreditParseInvokeData,承载新外层响应结构。
    • 业务解析只读取 data.mappingOutputFields 下的 message/status_code/payload
  3. 配置

    • application-dev.ymlapplication-pro.ymlapplication-nas.ymlapplication-uat.yml 同步调整 credit-parse.api.url/api/service/interface/invokeService/xfeature
    • 新增 credit-parse.api.file-public-base-urlorg-code=902000run-type=1model=LXCUSTALL
  4. 本地 mock

    • lsfx-mock-server 新增支持 /api/service/interface/invokeService/xfeature
    • mock 接收新表单参数并通过 remotePath 读取 HTML。
    • mock 返回新外层结构payload 仍按旧结构生成。
  5. 测试覆盖

    • CreditParseControllerTest 覆盖新调试入口、默认模型、客户端异常、表单参数完整性。
    • CcdiCreditInfoServiceImplTest 覆盖 HTML 保存路径与 remotePath 拼接、旧日期拦截、成功落库、从新外层结构读取旧 payload。

验证结果

  1. 接口文档核对

    • 已读取 天座征信解析接口文档.xlsx,确认调用方式为 POST application/x-www-form-urlencoded
    • 已确认输入参数为 serialNum/orgCode/runType/remotePath/model
    • 已确认输出结构为 success/code/data/mappingOutputFields
  2. 单元测试与编译

    • mvn -pl ccdi-lsfx -Dtest=CreditParseControllerTest test通过4 个用例成功。
    • mvn -pl ccdi-info-collection -am -Dtest=CcdiCreditInfoServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test通过3 个用例成功。
    • mvn -pl ccdi-lsfx,ccdi-info-collection -am compile:通过。
  3. 联调验证

    • 通过 bin/restart_java_backend.sh restart 启动后端。
    • 启动本地 mock 后,通过 /ccdi/creditInfo/upload 上传临时 HTML。
    • 后端日志确认调用参数包含:
      • model=LXCUSTALL
      • remotePath=http://127.0.0.1:62318/profile/credit-html/2026/05/12/credit_remote_path_test_20260512190228A001.html
    • mock 日志确认收到 POST /api/service/interface/invokeService/xfeature 并返回 200。
    • 上传结果:successCount=1failureCount=0
    • 列表与详情均可查询到解析后的征信负面信息和债务信息。
    • 联调测试身份证号 330781199001019999 对应数据已通过删除接口清理,复查列表 total=0

影响范围

  • 影响征信维护上传入口、征信解析客户端、本地 mock、相关环境配置。
  • 前端上传入口和页面接口路径不变。
  • 不保留旧 multipart 外部接口兼容逻辑。