27 lines
2.0 KiB
Markdown
27 lines
2.0 KiB
Markdown
|
|
# 设备分类与厂商映射
|
|||
|
|
|
|||
|
|
## 问题与变更
|
|||
|
|
|
|||
|
|
现有产品档案既包含钢瓶,也包含瓶阀;原有厂商上行消息使用独立16位设备编号,不能靠名称推测归属关系。
|
|||
|
|
新增 `product_info.device_kind`(未分类、智能阀、报警器、钢瓶)和 `vendor_device_id`(可为空的厂商编号)。历史记录默认未分类且未关联,不改写现有用户归属。
|
|||
|
|
|
|||
|
|
后台产品新建、编辑与详情加入两项配置。后端写入白名单和校验同时扩展:只有智能阀/报警器允许厂商编号,编号必须为16位数字且非全零;非空编号由数据库全局唯一索引约束。空编号表示尚未关联,不代表设备离线。
|
|||
|
|
|
|||
|
|
## 文件与验证
|
|||
|
|
|
|||
|
|
- 模型:`backend/api/internal/models/product_info.go`。
|
|||
|
|
- 写入校验:`backend/api/internal/logic/platform/product/product.go`、`device_mapping.go`。
|
|||
|
|
- 测试:`device_mapping_test.go`。
|
|||
|
|
- 独立迁移:`backend/api/cmd/cli/device_mapping_migration.go`,命令 `migrate-device-mapping`。
|
|||
|
|
- 后台字段:`frontend/platform_admin/src/api/resources.ts`。
|
|||
|
|
|
|||
|
|
产品逻辑、路由、CLI测试通过,后台类型与48项资源契约检查通过。
|
|||
|
|
迁移已在原远程配置执行成功,只新增两列、注释和唯一索引;API已切换到 `heqi-device-mapping-api.exe`。
|
|||
|
|
浏览器首次检查发现通用字段函数要求在中文名称字典注册,即便调用处已有label也不能省略,已补齐并验证列表恢复显示“未分类/未关联”。
|
|||
|
|
|
|||
|
|
内置浏览器实际进入新建表单,展开分类选项并选择“智能阀”,确认四项分类及厂商编号输入区可见。此次只检查表单,没有提交新产品或修改已有产品。
|
|||
|
|
|
|||
|
|
## 尚未完成
|
|||
|
|
|
|||
|
|
此变更只建立明确映射配置,用户“我的设备”页面和遥测读取还未接入,不开放远程控制。未将现有示例产品自动映射到真实厂商编号。配置保存、重复编号及实际设备联调还需继续验证,不能据此宣称设备闭环完成。
|