feat(hjc): 证件OCR改用百度云(身份证/营业执照识别)

- 新增 com.gxwebsoft.hjc.ocr:HjcBaiduOcrClient(access_token 进程内缓存+提前刷新、
  两个接口调用、error_code/log_id 解析)、HjcOcrImageFetcher(取回 fileUrl 字节,
  要求 HTTP 200 且 Content-Type 为 image/*)、HjcOcrException(正数=百度云错误码,负数=本方错误码)
- HjcOcrServiceImpl 重写:材料类型路由(国徽面/授权委托书提前返回)、中文 key 映射、
  未识别哨兵值「无」过滤、图片大小与最短边前置校验(不合规不调百度云,身份证失败也计费)、
  失败按 error_code 打结构化日志(不记录识别出的值)
- pom 移除 aliyun-java-sdk-ocr;配置 aliyun.ocr.* 改为 baidu.ocr.api-key/secret-key(占位空值)
- 新增打桩单测 28 个(token 缓存与刷新、字段映射、「无」过滤、错误码、超限、正反面传错)

背景:阿里云 OCR 的 AK 一直是空占位,从未开通、链路从未跑通;甲方要求改用百度云。
接口契约不变(POST /api/hjc/ocr/recognize,前端零改动)。
This commit is contained in:
2026-09-10 14:47:00 +08:00
parent 08138f1f04
commit 1e2ec82c18
10 changed files with 1093 additions and 78 deletions
+2 -6
View File
@@ -213,12 +213,8 @@
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.3</version>
</dependency>
<!--阿里云文字识别 OCR(身份证/营业执照识别)-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-ocr</artifactId>
<version>1.0.6</version>
</dependency>
<!-- 证件 OCR(身份证/营业执照识别)已改用百度云 REST 接口,不再依赖 aliyun-java-sdk-ocr
理由见 ADR-0003《证件 OCR 改用百度云》,调用封装在 com.gxwebsoft.hjc.ocr.HjcBaiduOcrClient -->
<!--阿里支付 老版本 SDK-->
<dependency>
<groupId>com.alipay.sdk</groupId>