# Integration Service 模块指引 ## 职责边界 - 集中承载百度 OCR、Amazon Logistics/SP-API 等第三方适配器和能力启停状态。 - 不保存业务主数据,不把第三方 DTO 泄漏为内部领域模型;真实外部调用默认关闭,密钥仅从安全配置注入。 ## 快速索引 | 功能 | 入口 | |---|---| | 应用与配置扫描 | `src/main/java/com/baiyue/integration/IntegrationServiceApplication.java` | | `baiyue.integration` 配置 | `config/IntegrationProperties.java` | | 内部供应商状态 API | `controller/IntegrationProviderController.java` | | 重量 OCR 内部 API | `controller/WeightOcrController.java` | | 能力状态模型与服务 | `dto/ProviderStatus.java`、`service/ProviderStatusService.java` | | 适配器抽象 | `provider/IntegrationProviderAdapter.java` | | 百度 OCR 状态与客户端 | `provider/BaiduOcrAdapter.java`、`provider/ocr/BaiduMeterClient.java` | | 重量 OCR 协议模型 | `dto/ocr/` | | 重量 OCR 批处理 | `service/ocr/WeightOcrBatchService.java` | | 图片裁剪与重量筛选 | `service/ocr/ImageCropper.java`、`service/ocr/WeightCandidateSelector.java` | | OCR 文件访问边界 | `service/ocr/WeightOcrStoragePolicy.java` | | Amazon | `provider/AmazonLogisticsAdapter.java` | | 内部服务令牌 | `security/InternalServiceTokenGuard.java` | | 配置与 OCR 测试 | `src/test/java/com/baiyue/integration/config/IntegrationPropertiesTest.java`、`src/test/java/com/baiyue/integration/service/ocr/` | | 本地/Nacos 配置 | `src/main/resources/application.yml`、`../config/nacos/{local,cn}/integration-service.yml` | ## 修改与验证 - 第三方密钥、Token、请求原文和客户敏感数据不得写入源码或日志;配置应支持按供应商独立关闭。 - 适配器负责外部协议转换、超时、错误归一化和安全降级;业务编排留在调用方服务。 - 启用真实调用前补齐超时、重试边界、限流、幂等和可观测性,并避免在测试中访问真实供应商。 - OCR 目录批处理只能访问 `WEIGHT_OCR_INPUT_ROOT` 和 `WEIGHT_OCR_OUTPUT_ROOT` 内的路径,不得恢复任意服务器路径读取。 - OCR 接口只允许内部服务令牌调用;图片大小、解码像素数、单批数量和并发批次限制不得绕过。 - OCR 原始响应和第三方密钥不得写入应用日志,真实供应商调用必须保持默认关闭。 - 从父目录运行 `mvn -pl integration-service -am test`。