35 lines
2.6 KiB
Markdown
35 lines
2.6 KiB
Markdown
# 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`)。
|