# 征信解析客户端实施记录 ## 1. 改动概述 本次在 `ccdi-lsfx` 模块新增了独立征信解析能力,包含以下内容: - 新增 `CreditParseClient`,通过独立配置 `credit-parse.api.url` 调用外部征信解析服务。 - 新增 `POST /lsfx/credit/parse` 联调接口,支持上传 `.html/.htm` 文件、默认补齐 `model=LXCUSTALL` 与 `hType=PERSON`,并将结果以 `AjaxResult` 形式返回。 - 新增征信解析响应对象 `CreditParseResponse`、`CreditParsePayload`。 - 为 `ccdi-lsfx` 补充 `spring-boot-starter-test` 依赖,并新增客户端、控制器单元测试。 ## 2. 修改文件 - `ccdi-lsfx/pom.xml` - `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/client/CreditParseClient.java` - `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/CreditParseController.java` - `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/CreditParseResponse.java` - `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/CreditParsePayload.java` - `ccdi-lsfx/src/test/java/com/ruoyi/lsfx/client/CreditParseClientTest.java` - `ccdi-lsfx/src/test/java/com/ruoyi/lsfx/controller/CreditParseControllerTest.java` - `ruoyi-admin/src/main/resources/application-dev.yml` - `ruoyi-admin/src/main/resources/application-nas.yml` ## 3. 测试记录 ### 3.1 TDD 过程命令 执行过的关键测试命令如下: ```bash mvn -pl ccdi-lsfx -Dtest=CreditParseControllerTest test mvn -pl ccdi-lsfx -Dtest=CreditParseClientTest#shouldDeserializeCreditParseResponse test mvn -pl ccdi-lsfx -Dtest=CreditParseClientTest test mvn -pl ccdi-lsfx -Dtest=CreditParseControllerTest test ``` 结果: - `CreditParseControllerTest` 首次运行按预期失败,定位为 `CreditParseController` 不存在。 - `CreditParseClientTest#shouldDeserializeCreditParseResponse` 首次运行按预期失败,定位为响应对象不存在。 - `CreditParseClientTest` 与 `CreditParseControllerTest` 最终均通过。 ### 3.2 模块回归命令 ```bash mvn -pl ccdi-lsfx test mvn -pl ccdi-lsfx -am compile ``` 结果: - `mvn -pl ccdi-lsfx test`:通过,`CreditParseClientTest` 和 `CreditParseControllerTest` 共 7 个测试全部通过。 - `mvn -pl ccdi-lsfx -am compile`:通过,`ruoyi-common`、`ccdi-lsfx` 编译成功。 ### 3.3 Swagger / 接口联调 执行过程: ```bash mvn -pl ruoyi-admin -am install -DskipTests cd ruoyi-admin && mvn spring-boot:run curl -I http://127.0.0.1:62318/swagger-ui.html curl http://127.0.0.1:62318/v3/api-docs curl -F 'file=@/tmp/credit-parse-sample.html;type=text/html' http://127.0.0.1:62318/lsfx/credit/parse ``` 结果: - `swagger-ui.html` 可正常跳转到 `/swagger-ui/index.html`。 - OpenAPI 文档中已存在 `征信解析接口测试` 标签以及 `POST /lsfx/credit/parse` 路径。 - 上传 `.html` 文件时,请求已进入 `CreditParseController` 与 `CreditParseClient`,但外部地址 `http://64.202.94.120:8081/xfeature-mngs/conversation/htmlEval` 在联调时返回 `The target server failed to respond`,因此未拿到成功解析结果。 - 联调结束后已停止 `ruoyi-admin` 启动进程,未保留端口占用。 ## 4. 结果说明 - 设计范围内的后端代码已完成,未接入 `ccdi-project`,未新增落库逻辑。 - 独立配置 `credit-parse.api.url` 已在 `application-dev.yml` 与 `application-nas.yml` 中补齐。 - 控制器已实现文件校验、默认值补齐、临时文件转换、调用客户端和临时文件清理。 - 客户端已实现调用日志、耗时记录和统一异常包装。 - 本次联调结论为:系统侧接口注册、Swagger 暴露和请求链路已打通;外部征信解析服务当前未响应,需待对方服务可用后继续做成功结果验证。 ## 5. 追加调整记录 - 为便于本地联调,已将 `application-dev.yml` 中的 `credit-parse.api.url` 调整为本地 Mock 地址:`http://localhost:8000/xfeature-mngs/conversation/htmlEval`。