docs(M06-E): 记录智慧插座验收并推进订单联动
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` 为准。
|
||||
|
||||
- 当前执行游标:`M06-E`
|
||||
- 最近工程提交:`d15fd3f`,完成 M06-D 控制箱与 Sub-1G 门锁业务控制、安全门禁、配对拓扑和事件告警。
|
||||
- 下一工程目标:M06-E 智慧插座。
|
||||
- 当前执行游标:`M06-F`
|
||||
- 最近工程提交:`9144fa8`,完成 M06-E 智慧插座查询、开关、本地任务、计量保护告警和后台控制 API。
|
||||
- 下一工程目标:M06-F 订单自动联动。
|
||||
|
||||
## 版本递进
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# M06-D 控制箱与门锁 API
|
||||
# M06-D/M06-E 设备控制 API
|
||||
|
||||
- `POST /admin-api/device-control/power`
|
||||
- `POST /admin-api/device-control/door`
|
||||
@@ -10,5 +10,9 @@
|
||||
- `POST /admin-api/device-control/task/cancel`
|
||||
- `POST /admin-api/device-control/sub-lock/pair`
|
||||
- `POST /admin-api/device-control/sub-lock/action`
|
||||
- `POST /admin-api/device-control/socket/read`
|
||||
- `POST /admin-api/device-control/socket/switch`
|
||||
- `POST /admin-api/device-control/socket/task`
|
||||
- `POST /admin-api/device-control/socket/task/clear`
|
||||
|
||||
响应中的 `PUBLISHED` 只表示 MQTT 发布完成,设备执行结果以 ACK 后的命令状态为准。
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# 当前开发成果基线
|
||||
|
||||
> V5.0 首次核验日期:2026-06-16
|
||||
> audited_commit: `d15fd3f`
|
||||
> next_engineering_target: M06-E 智慧插座
|
||||
> audited_commit: `9144fa8`
|
||||
> next_engineering_target: M06-F 订单自动联动
|
||||
> 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。
|
||||
|
||||
## 总体结论
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# M06-E 智慧插座
|
||||
|
||||
- 日期:2026-06-24
|
||||
- 起始 commit:`4863860`
|
||||
- 工程 commit:`9144fa8`
|
||||
- ENGINEERING_DELTA=YES
|
||||
- 子阶段状态:PARTIAL/BLOCKED_EXTERNAL;Mock 与后端控制闭环完成,缺插座实物
|
||||
|
||||
## 工程增量
|
||||
|
||||
- 新增智慧插座业务控制服务:`basicInfo/workInfo` 查询、`on/off` 开关、本地任务 `localtask` 和 `clearTask`。
|
||||
- 新增后台 API:`/admin-api/device-control/socket/read`、`/socket/switch`、`/socket/task`、`/socket/task/clear`。
|
||||
- 插座命令复用设备命令状态机,先落库再发布 MQTT;返回 `PUBLISHED` 不伪造成设备执行成功。
|
||||
- 插座控制复用租户、门店、房间和 `device.write` 范围校验;离线设备拒绝下发。
|
||||
- 上行 `workInfo/special` 类事件可识别过载、过温、过流、过压/欠压、功率和温度阈值,并写入设备告警。
|
||||
|
||||
## 验证
|
||||
|
||||
- Windows `npm run build`:退出码 0。
|
||||
- Windows `node tests/iot-protocol.test.mjs`:退出码 0。
|
||||
- Windows `node tests/device-control.test.mjs`:退出码 0。
|
||||
- Windows `npm test`:退出码 0,M01-A 至 M06-E 全量后端回归通过。
|
||||
- 工程 commit 已 push,`HEAD == origin/main == 9144fa8`。
|
||||
|
||||
## 外部阻塞与后续
|
||||
|
||||
缺 4G 智慧插座实物、DeviceID、生产 MQTT 账号/ACL 和现场负载,真实计量与保护断电仍保留 `BLOCKED_EXTERNAL`。游标进入 M06-F 订单自动联动。
|
||||
@@ -38,11 +38,12 @@
|
||||
| GRP-003 | 管理员验券 | M05-C/M08 | PARTIAL | `cda640b` | 已提供后台人工验券、配置、映射和记录查询 API,门店数据范围校验生效,券码列表只返回脱敏值。 | 管理员小程序扫码界面待 M08,真实平台核销待授权。 | M08 接入扫码界面;授权后切换 API 模式。 |
|
||||
| FRN-001 | 加盟商与自动分账 | M05-D/M10/M08 | PARTIAL | `1680d73` | 已实现租户/门店收款账户、商户号、环境凭据引用、分账授权状态、接收方哈希脱敏、比例总和校验、支付后幂等分账和明细查询;未授权不能开启,生产环境 Mock 强制关闭。 | 缺微信支付服务商和分账权限,尚未执行真实分账。 | M10/M08 补加盟流程与界面;取得权限后执行真实分账与对账。 |
|
||||
| BKG-007 | 后台微信支付配置 | M05-D/M08 | PARTIAL | `1680d73` | 已提供收款账户、分账接收方、门店/全局比例策略和授权状态 API;私钥、APIv3 Key 和接收方真实标识只使用环境引用,查询仅返回脱敏信息。 | Vue 后台页面待 M08;真实商户与服务商授权未提供。 | M08 接入响应式配置页面;授权后完成生产验收。 |
|
||||
| DEV-003 | 设备管理 | M06-B/M08 | PARTIAL | `74a67ac` | 已实现 DeviceID/IMEI/ICCID/型号/固件/信号/能力资产,控制箱通道、智慧插座负载、Sub-1G 父子拓扑、状态快照、开放告警和维护记录查询;门店数据范围生效。 | 尚无后台/手机页面,在线状态仍需 M06-C/G 由真实消息更新。 | M06-C 接入协议消息与幂等;M08 实现响应式界面。 |
|
||||
| BKG-004 | 后台设备管理 | M06-B/M08 | PARTIAL | `74a67ac` | 已提供设备入库、列表、拓扑、通道绑定、Sub-1G 绑定、状态和维护 API;同一房间控制目标唯一,控制箱与智慧插座重复负载被数据库拒绝。 | Vue 后台页面和真实设备扫码入库待 M08/M06-G。 | M06-C/D/E 接入协议后补真实状态;M08 实现管理页面。 |
|
||||
| DEV-003 | 设备管理 | M06-B/M08 | PARTIAL | `9144fa8` | 已实现 DeviceID/IMEI/ICCID/型号/固件/信号/能力资产,控制箱通道、智慧插座负载、Sub-1G 父子拓扑、状态快照、开放告警和维护记录查询;插座过载、过温、过流、过压/欠压、功率和温度阈值告警已接入;门店数据范围生效。 | 尚无后台/手机页面,真实硬件在线/计量仍需 M06-G 实物更新。 | M06-F 接入订单自动联动;M08 实现响应式界面。 |
|
||||
| BKG-004 | 后台设备管理 | M06-B/M08 | PARTIAL | `9144fa8` | 已提供设备入库、列表、拓扑、通道绑定、Sub-1G 绑定、状态、维护和插座控制 API;同一房间控制目标唯一,控制箱与智慧插座重复负载被数据库拒绝。 | Vue 后台页面和真实设备扫码入库待 M08/M06-G。 | M06-F 接入订单自动联动;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-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 接入有效订单/分享令牌与组合动作。 |
|
||||
| DEV-001 | 一键开门与设备动作 | M06-D/M06-F | PARTIAL | `9144fa8` | 已提供控制箱控电、磁力锁、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 完成实物控制与故障场景。 |
|
||||
| IOT-005 | 智慧插座接入 | M06-E | PARTIAL | `9144fa8` | `basicInfo/workInfo` 查询、`on/off`、`localtask/clearTask` 已通过适配器、命令持久化和后台 API 接入;本地任务限制 20 条;过载、过温、过流、过压/欠压、功率和温度阈值写入设备告警;Windows 全量后端回归通过。 | 缺 4G 智慧插座实物、DeviceID、生产 MQTT 账号/ACL 和现场负载,未执行真实计量与保护断电联调。 | M06-F 接入订单自动联动;M06-G 完成实物计量、开关、本地任务和保护事件矩阵。 |
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
|---|---|---|---|
|
||||
| 4G 智能门禁控电箱 | V5.4 已固化命令与字段;PDF 原件未在当前仓库找到 | PARTIAL | M06-D 完成业务权限和控制;取得 PDF 后逐页复核。 |
|
||||
| Sub-1G 智能门锁 | V5.4 已固化 `AddDevice/CtrlDevice`、subID/subtype 和结果码;PDF 原件缺失 | PARTIAL | M06-D 完成绑定、控制、安全门禁与事件。 |
|
||||
| 4G 智慧插座 | V5.4 已固化查询、开关、本地任务和事件;PDF 原件缺失 | PARTIAL | M06-E 完成能力识别、计量和保护事件。 |
|
||||
| 4G 智慧插座 | V5.4 已固化查询、开关、本地任务和事件;PDF 原件缺失 | PARTIAL | M06-E 已完成查询、开关、本地任务和保护告警;M06-G 补实物计量与保护断电矩阵。 |
|
||||
| EMQX Broker | 固定主机 `101.42.38.246`;已生成安装说明、ACL 模板和菜单检查 | PARTIAL | 生产 Ubuntu 安装、端口限制和 ACL 应用后复验。 |
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
```yaml
|
||||
execution_cursor:
|
||||
current_module: M06
|
||||
current_stage: M06-E
|
||||
current_stage: M06-F
|
||||
stage_status: TODO
|
||||
last_completed_stage: M06-D
|
||||
next_stage: M06-E
|
||||
last_engineering_commit: d15fd3f
|
||||
last_completed_stage: M06-E
|
||||
next_stage: M06-F
|
||||
last_engineering_commit: 9144fa8
|
||||
last_push_verified: true
|
||||
base_branch: main
|
||||
blocked_reason: ""
|
||||
updated_at: 2026-06-22T22:50:00+08:00
|
||||
updated_at: 2026-06-24T00:00: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 真机联调。 |
|
||||
| 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。 |
|
||||
| M06 设备、MQTT 与真实硬件联动 | PARTIAL | `d15fd3f` | docs/devlogs/2026-06-22-M06-D-控制箱与门锁.md | M06-A 至 D 已完成 MQTT、拓扑、协议幂等、控制箱与 Sub-1G 门锁业务控制、安全门禁、事件脱敏和告警;无实物联调,继续 M06-E 智慧插座。 |
|
||||
| M06 设备、MQTT 与真实硬件联动 | PARTIAL | `9144fa8` | docs/devlogs/2026-06-24-M06-E-智慧插座.md | M06-A 至 E 已完成 MQTT、拓扑、协议幂等、控制箱、Sub-1G 门锁和智慧插座业务控制、安全门禁、事件脱敏和告警;无实物联调,继续 M06-F 订单自动联动。 |
|
||||
| M07 保洁、通知、任务和语音播报 | TODO | - | - | - |
|
||||
| M08 微信原生小程序完整业务 | TODO | - | - | - |
|
||||
| M09 后台管理端完整业务 | TODO | - | - | - |
|
||||
|
||||
@@ -6,7 +6,7 @@ M06-C 已按 V5.4 中固化的厂商协议字段实现适配器、上行解析
|
||||
|---|---|---|---|---|
|
||||
| 4G 智能门禁控电箱 | `/devicesend/{DeviceID}`、`/devicewill/{DeviceID}`、`/deviceaccept/{DeviceID}` | 双向 | `basicInfo/mqttConfig/startVoice/task/taskconfig`、`ConctolPower`、`Crldoor`、`PlayTTS/stopTTS`、`CrlLED`、`task/addtask/canceltask` | PARTIAL |
|
||||
| Sub-1G 智能门锁 | 经父控制箱使用相同三个 Topic | 双向 | `AddDevice`、`CtrlDevice`;`open/close/setkey/delkey/setcard/delcard/factoryreset` | PARTIAL |
|
||||
| 4G 智慧插座 | `/devicesend/{DeviceID}`、`/devicewill/{DeviceID}`、`/deviceaccept/{DeviceID}` | 双向 | `basicInfo/workInfo`、`on/off`、`localtask`、`clearTask` | PARTIAL |
|
||||
| 4G 智慧插座 | `/devicesend/{DeviceID}`、`/devicewill/{DeviceID}`、`/deviceaccept/{DeviceID}` | 双向 | `basicInfo/workInfo`、`on/off`、`localtask`、`clearTask`;过载、过温、过流、过压/欠压、功率和温度阈值告警 | PARTIAL |
|
||||
|
||||
## M06-A ACL 基线
|
||||
|
||||
|
||||
Reference in New Issue
Block a user