docs(M06-D): 记录控制箱门锁验收并推进插座
This commit is contained in:
@@ -120,9 +120,9 @@ WSL 已验证:EMQX `5.8.9`、MQTTX CLI `1.13.0`、EMQX 服务 `active (running
|
|||||||
|
|
||||||
项目已开发部分模块。具体完成度不得从 README 猜测,必须以现有代码、测试、数据库迁移、Git 历史以及 `docs/current-baseline.md`、`docs/module-status.md`、`docs/feature-status.md` 为准。
|
项目已开发部分模块。具体完成度不得从 README 猜测,必须以现有代码、测试、数据库迁移、Git 历史以及 `docs/current-baseline.md`、`docs/module-status.md`、`docs/feature-status.md` 为准。
|
||||||
|
|
||||||
- 当前执行游标:`M06-D`
|
- 当前执行游标:`M06-E`
|
||||||
- 最近工程提交:`e795cdb`,完成 M06-C 三类协议适配器、13 位命令状态机、ACK 关联、QoS 1 去重与死信。
|
- 最近工程提交:`d15fd3f`,完成 M06-D 控制箱与 Sub-1G 门锁业务控制、安全门禁、配对拓扑和事件告警。
|
||||||
- 下一工程目标:M06-D 控制箱和门锁业务能力。
|
- 下一工程目标:M06-E 智慧插座。
|
||||||
|
|
||||||
## 版本递进
|
## 版本递进
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# M06-D 控制箱与门锁 API
|
||||||
|
|
||||||
|
- `POST /admin-api/device-control/power`
|
||||||
|
- `POST /admin-api/device-control/door`
|
||||||
|
- `POST /admin-api/device-control/tts`
|
||||||
|
- `POST /admin-api/device-control/tts/stop`
|
||||||
|
- `POST /admin-api/device-control/led`
|
||||||
|
- `POST /admin-api/device-control/task/start`
|
||||||
|
- `POST /admin-api/device-control/task/extend`
|
||||||
|
- `POST /admin-api/device-control/task/cancel`
|
||||||
|
- `POST /admin-api/device-control/sub-lock/pair`
|
||||||
|
- `POST /admin-api/device-control/sub-lock/action`
|
||||||
|
|
||||||
|
响应中的 `PUBLISHED` 只表示 MQTT 发布完成,设备执行结果以 ACK 后的命令状态为准。
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# 当前开发成果基线
|
# 当前开发成果基线
|
||||||
|
|
||||||
> V5.0 首次核验日期:2026-06-16
|
> V5.0 首次核验日期:2026-06-16
|
||||||
> audited_commit: `e795cdb`
|
> audited_commit: `d15fd3f`
|
||||||
> next_engineering_target: M06-D 控制箱和门锁业务能力
|
> next_engineering_target: M06-E 智慧插座
|
||||||
> 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。
|
> 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。
|
||||||
|
|
||||||
## 总体结论
|
## 总体结论
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# M06-D 控制箱和门锁
|
||||||
|
|
||||||
|
- 日期:2026-06-22
|
||||||
|
- 起始 commit:`f71ac09`
|
||||||
|
- 工程 commit:`d15fd3f`
|
||||||
|
- ENGINEERING_DELTA=YES
|
||||||
|
- 子阶段状态:PARTIAL/BLOCKED_EXTERNAL;Mock 与数据库闭环完成,缺实物
|
||||||
|
|
||||||
|
## 工程增量
|
||||||
|
|
||||||
|
- 控制箱:三路控电、磁力锁、TTS/停止、LED、任务开始/续时/取消。
|
||||||
|
- Sub-1G:配对窗口、开关门、密码/卡片及恢复出厂命令。
|
||||||
|
- 所有动作先解析租户、门店、房间和控制箱绑定;离线设备拒绝发送。
|
||||||
|
- 常开仅管理员;恢复出厂及清空凭据仅平台管理员加固定确认短语。
|
||||||
|
- `record` 卡号/密码内容改存 SHA-256 与脱敏值,不落明文。
|
||||||
|
- `timeout/full/unconfirm` 和低电量写入设备告警。
|
||||||
|
- `AddDevice` 成功回包自动创建 701C/701G 子设备和父子拓扑。
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
|
||||||
|
- Windows 全量测试与仓库门禁退出码 0。
|
||||||
|
- WSL MySQL 8.4.9 集成往返通过。
|
||||||
|
- 实测 record 原文不落库、9% 电量生成 HIGH 告警、AddDevice subtype 14 建立 701C 拓扑。
|
||||||
|
- 工程 commit 已 push,`HEAD == origin/main == d15fd3f0ff1843201a7d6792fc65d4fe2a0207af`。
|
||||||
|
|
||||||
|
## 外部阻塞与后续
|
||||||
|
|
||||||
|
缺控制箱、701C/701G 实物、DeviceID 和现场配线,真实动作保留 `BLOCKED_EXTERNAL`。游标进入 M06-E 智慧插座。
|
||||||
@@ -42,3 +42,7 @@
|
|||||||
| BKG-004 | 后台设备管理 | M06-B/M08 | PARTIAL | `74a67ac` | 已提供设备入库、列表、拓扑、通道绑定、Sub-1G 绑定、状态和维护 API;同一房间控制目标唯一,控制箱与智慧插座重复负载被数据库拒绝。 | Vue 后台页面和真实设备扫码入库待 M08/M06-G。 | M06-C/D/E 接入协议后补真实状态;M08 实现管理页面。 |
|
| BKG-004 | 后台设备管理 | M06-B/M08 | PARTIAL | `74a67ac` | 已提供设备入库、列表、拓扑、通道绑定、Sub-1G 绑定、状态和维护 API;同一房间控制目标唯一,控制箱与智慧插座重复负载被数据库拒绝。 | Vue 后台页面和真实设备扫码入库待 M08/M06-G。 | M06-C/D/E 接入协议后补真实状态;M08 实现管理页面。 |
|
||||||
| IOT-006 | MQTT 消息幂等 | M01/M06-C | DONE | `e795cdb` | 上行按租户、设备、Topic 和 payload SHA-256 唯一;QoS 1 重复消息只增加 `receive_count`,不重复更新命令或设备副作用;WSL MySQL 8.4.9 实测两次 ACK 仅一条事件。 | - | M06-D/E 继续复用同一消费链路。 |
|
| IOT-006 | MQTT 消息幂等 | M01/M06-C | DONE | `e795cdb` | 上行按租户、设备、Topic 和 payload SHA-256 唯一;QoS 1 重复消息只增加 `receive_count`,不重复更新命令或设备副作用;WSL MySQL 8.4.9 实测两次 ACK 仅一条事件。 | - | M06-D/E 继续复用同一消费链路。 |
|
||||||
| IOT-007 | 命令状态机 | M01/M06-C | DONE | `e795cdb` | 已实现 `PENDING/PUBLISHED/ACKED/FAILED/TIMEOUT/UNKNOWN/CANCELLED` 数据模型,发布失败、ACK 结果、超时和 13 位命令 ID 均有测试;发布成功不等于 ACK。 | - | M06-D/F 接入业务权限、补偿与过期取消。 |
|
| IOT-007 | 命令状态机 | M01/M06-C | DONE | `e795cdb` | 已实现 `PENDING/PUBLISHED/ACKED/FAILED/TIMEOUT/UNKNOWN/CANCELLED` 数据模型,发布失败、ACK 结果、超时和 13 位命令 ID 均有测试;发布成功不等于 ACK。 | - | M06-D/F 接入业务权限、补偿与过期取消。 |
|
||||||
|
| DEV-001 | 一键开门与设备动作 | M06-D/M06-F | PARTIAL | `d15fd3f` | 已提供控制箱控电、磁力锁、TTS、LED、订单任务与 Sub-1G 门锁控制服务;离线不发送,门店范围与常开权限生效,命令返回 PUBLISHED 而非假成功。 | 顾客订单权限编排属于 M06-F,真实硬件属于 M06-G。 | M06-F 接入有效订单/分享令牌与组合动作。 |
|
||||||
|
| IOT-002 | 控制箱接入 | M06-D | PARTIAL | `d15fd3f` | `ConctolPower/Crldoor/PlayTTS/stopTTS/CrlLED/task/addtask/canceltask` 已通过适配器、命令持久化和 API 接入。 | 缺控制箱实物逐路负载、门磁、TTS 和任务回包联调。 | M06-G 执行实物矩阵。 |
|
||||||
|
| IOT-003 | Sub-1G 门锁绑定 | M06-D | PARTIAL | `d15fd3f` | `AddDevice` 下发、超时窗口、回包 subID/subtype、701C/701G 型号映射和父子拓扑自动固化已实现。 | 缺现场 `*789#` 与实物配对。 | M06-G 现场配对、超时和换绑验收。 |
|
||||||
|
| IOT-004 | Sub-1G 门锁控制 | M06-D | PARTIAL | `d15fd3f` | `CtrlDevice` 开关门、密码/卡片和恢复出厂适配器已实现;危险清空/恢复出厂仅平台管理员加确认短语;record 内容哈希脱敏,低电量及 timeout/full/unconfirm 告警。 | 缺 701C/701G 实物及密码/卡片现场验收。 | M06-G 完成实物控制与故障场景。 |
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
```yaml
|
```yaml
|
||||||
execution_cursor:
|
execution_cursor:
|
||||||
current_module: M06
|
current_module: M06
|
||||||
current_stage: M06-D
|
current_stage: M06-E
|
||||||
stage_status: TODO
|
stage_status: TODO
|
||||||
last_completed_stage: M06-C
|
last_completed_stage: M06-D
|
||||||
next_stage: M06-D
|
next_stage: M06-E
|
||||||
last_engineering_commit: e795cdb
|
last_engineering_commit: d15fd3f
|
||||||
last_push_verified: true
|
last_push_verified: true
|
||||||
base_branch: main
|
base_branch: main
|
||||||
blocked_reason: ""
|
blocked_reason: ""
|
||||||
updated_at: 2026-06-22T22:10:00+08:00
|
updated_at: 2026-06-22T22:50:00+08:00
|
||||||
```
|
```
|
||||||
|
|
||||||
| 模块 | 状态 | 最近提交 | 最近开发日志 | 备注 |
|
| 模块 | 状态 | 最近提交 | 最近开发日志 | 备注 |
|
||||||
@@ -22,7 +22,7 @@ execution_cursor:
|
|||||||
| M03 门店、房间、价格、营业时间 | DONE | `d563078` | docs/devlogs/2026-06-18-M03-D-场景码NFC与WiFi.md | M03-A/B/C/D 已完成门店房间、装修广告、媒体、地图选店、场景码/NFC 页面导航和受控 Wi-Fi;真实微信小程序码图片生成留待 M08 真机联调。 |
|
| M03 门店、房间、价格、营业时间 | DONE | `d563078` | docs/devlogs/2026-06-18-M03-D-场景码NFC与WiFi.md | M03-A/B/C/D 已完成门店房间、装修广告、媒体、地图选店、场景码/NFC 页面导航和受控 Wi-Fi;真实微信小程序码图片生成留待 M08 真机联调。 |
|
||||||
| M04 订单、时段锁定、支付闭环 | DONE | `91801fe` | docs/devlogs/2026-06-20-M04-D-订单分享.md | M04-A/B/C/D 已完成可信定价、并发预占、订单状态机、续费取消换房、管理员调整、代下单和最小权限分享;Windows 全量回归与 WSL MySQL 8.4.9 模块回归通过。 |
|
| M04 订单、时段锁定、支付闭环 | DONE | `91801fe` | docs/devlogs/2026-06-20-M04-D-订单分享.md | M04-A/B/C/D 已完成可信定价、并发预占、订单状态机、续费取消换房、管理员调整、代下单和最小权限分享;Windows 全量回归与 WSL MySQL 8.4.9 模块回归通过。 |
|
||||||
| M05 会员、余额、套餐、优惠券 | PARTIAL | `1680d73` | docs/devlogs/2026-06-22-M05-D-分账与收款配置.md | M05-A/B/C/D 工程闭环已完成:统一支付、微信支付退款、团购直订、门店收款账户、分账接收方、比例策略、授权门禁、幂等分账和对账查询均通过 Windows 与 WSL MySQL 回归;真实微信/团购/分账权限未提供,模块保持 PARTIAL/BLOCKED_EXTERNAL。 |
|
| M05 会员、余额、套餐、优惠券 | PARTIAL | `1680d73` | docs/devlogs/2026-06-22-M05-D-分账与收款配置.md | M05-A/B/C/D 工程闭环已完成:统一支付、微信支付退款、团购直订、门店收款账户、分账接收方、比例策略、授权门禁、幂等分账和对账查询均通过 Windows 与 WSL MySQL 回归;真实微信/团购/分账权限未提供,模块保持 PARTIAL/BLOCKED_EXTERNAL。 |
|
||||||
| M06 设备、MQTT 与真实硬件联动 | PARTIAL | `e795cdb` | docs/devlogs/2026-06-22-M06-C-协议适配与消息幂等.md | M06-A/B/C 已完成 MQTT 基础、设备拓扑、三类协议适配器、命令状态、ACK 关联、QoS 1 去重和死信;协议 PDF 原件未在仓库找到,当前严格按 V5.4 已固化字段实现,继续 M06-D。 |
|
| M06 设备、MQTT 与真实硬件联动 | PARTIAL | `d15fd3f` | docs/devlogs/2026-06-22-M06-D-控制箱与门锁.md | M06-A 至 D 已完成 MQTT、拓扑、协议幂等、控制箱与 Sub-1G 门锁业务控制、安全门禁、事件脱敏和告警;无实物联调,继续 M06-E 智慧插座。 |
|
||||||
| M07 保洁、通知、任务和语音播报 | TODO | - | - | - |
|
| M07 保洁、通知、任务和语音播报 | TODO | - | - | - |
|
||||||
| M08 微信原生小程序完整业务 | TODO | - | - | - |
|
| M08 微信原生小程序完整业务 | TODO | - | - | - |
|
||||||
| M09 后台管理端完整业务 | TODO | - | - | - |
|
| M09 后台管理端完整业务 | TODO | - | - | - |
|
||||||
|
|||||||
Reference in New Issue
Block a user