docs(M06-C): 记录协议幂等验收并推进控制箱
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# M06-C 协议适配器和消息幂等
|
||||
|
||||
- 日期:2026-06-22
|
||||
- 起始 commit:`c96045f`
|
||||
- 工程 commit:`e795cdb`
|
||||
- ENGINEERING_DELTA=YES
|
||||
- 子阶段状态:DONE(可独立工程范围);PDF 原件复核为外部阻塞
|
||||
|
||||
## 工程增量
|
||||
|
||||
- 实现 `MqttTransport`、`JilianControlBoxAdapter`、`JilianSub1GLockAdapter`、`JilianSmartSocketAdapter`。
|
||||
- 严格保留 `ConctolPower`、`Crldoor`、`CrlLED`、`PlayTTS`、`CtrlDevice` 等厂商拼写。
|
||||
- Zod 校验控制箱读取/控电/门锁/TTS/LED/任务、Sub-1G 配对控制、插座读取/开关/本地任务。
|
||||
- 建立 13 位命令 ID、命令持久化、发布状态、ACK/失败/超时状态推进。
|
||||
- MQTT 消费校验 Topic、DeviceID 和 JSON;原始/标准化 payload 分开保存。
|
||||
- QoS 1 重复消息只增加接收次数,不重复推进命令或设备状态。
|
||||
- 非法 Topic、未知设备、非法 JSON/字段进入可去重死信表,消费循环不崩溃。
|
||||
|
||||
## 验证
|
||||
|
||||
- Windows `npm test` 与 `scripts/dev/windows/test-all.ps1`:退出码 0。
|
||||
- WSL MySQL 8.4.9 原生临时副本:`up → verify → down → up → verify` 通过。
|
||||
- 迁移语句:up 102、verify 74、down 96。
|
||||
- 实测同一 ACK 投递两次:事件行 1 条、`receive_count=2`、命令只推进一次至 `ACKED`。
|
||||
- 非法 Topic 实测进入 `qipai_iot_dead_letters`。
|
||||
- 工程 commit 已 push,`HEAD == origin/main == e795cdb6935568611a5d27d78991bf9e7ee2f7df`。
|
||||
|
||||
## 资料边界
|
||||
|
||||
当前工作区与现有压缩包未找到 V5.4 点名的两份协议 PDF。实现依据为 V5.4 已固化的协议章节;PDF 页码级复核登记为 `ISSUE-013/BLOCKED_EXTERNAL`。
|
||||
|
||||
## 后续
|
||||
|
||||
执行游标进入 M06-D:控制箱和门锁业务能力。
|
||||
Reference in New Issue
Block a user