Files
railwaysystem/docs/reports/dms-r3/real-api-probe/RUN-20260916-01/adapter-changes.md
T

35 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 06 Adapter 兼容性修正与实现清单 (Adapter Changes)
> **执行批次**:`RUN-20260916-01`
> **修复决定**:`ADAPTER_FIX_REQUIRED = YES`
> **修复完成状态**:`COMPLETED_AND_VERIFIED`
> **修改范围约束**:严格限制于契约事实证明必要的兼容性修复,零架构侵入,零业务模型重构
---
## 1. 变更文件清单 (ADAPTER_FILES_CHANGED)
| 变更文件路径 | 变更类型 | 变更动机与契约事实依据 |
| :--- | :---: | :--- |
| `RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/dms/dto/DmsDoorLockDto.java` | 修正 | 契约审计证明 Vendor 在 `/rest/doorlock/list` 中门锁主键为 `id`,下发入参为 `lockId`。增加 `id` 属性及双向互通兜底逻辑 |
| `RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/dms/dto/DmsRoomDto.java` | 修正 | 契约审计证明 Vendor 房间主键为 `id`(物理代表 `placeId`)。增加 `id` 与 `placeId` 互相双向兜底逻辑,防 `null` 异常 |
| `RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/dms/client/DmsLocationClient.java` | 增强 | 扩充官方全量查询入参支持:增加支持 `building`, `floor`, `room` 三元组及分页查询重载方法 |
| `RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/dms/orchestration/ReconciliationResult.java` | 增强 | 增加 `transient String oneTimePlaintextCredential` 属性,支撑 `ADMIN_ONE_TIME_DISPLAY` 瞬态安全传递,`toString()` 实施脱敏 |
| `RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/integration/dms/orchestration/AccessAuthorizationOrchestrator.java` | 修正 | 在创建在线密码业务成功时,将一次性密码回填至瞬态结果对象,安全闭环管理端展示 |
| `RuoYi-Vue/ruoyi-train/src/test/java/com/ruoyi/train/integration/dms/client/DmsContractCompatibilityTest.java` | 新增 | 契约兼容测试,验证 `id` / `lockId` / `placeId` 各类 JSON 载荷解析兼容性 |
| `RuoYi-Vue/ruoyi-admin/src/test/java/com/ruoyi/web/controller/train/CredentialOneTimeDisplaySecurityTest.java` | 新增 | 安全回归测试,验证 DB/日志/操作历史/API 接口四大零明文泄露指标 |
---
## 2. 自动化测试与验证证据
执行命令:
```bash
mvn test -Dtest="DmsContractCompatibilityTest,CredentialOneTimeDisplaySecurityTest" -Dsurefire.failIfNoSpecifiedTests=false
```
**运行结果**:
- `DmsContractCompatibilityTest`: 4/4 PASS
- `CredentialOneTimeDisplaySecurityTest`: 5/5 PASS
- 现有全部 45 项 DMS 单元测试保持 100% 通过(`45/45 PASS`)。
- 整体工程 280 项单元测试全部回归通过(`280/280 PASS`)。