2995840376 fdf0e265fc feat(B8-B9): 屏端物模型回流 + 设备级 schema 覆盖层(消除死数据)
问题: device.schema_json 是中控屏上报物模型的唯一落点, 但全仓只写不读,
属死数据; 同时屏端本地设备(zigbee/ble/matter)无平台产品, 产品级物模型里
也查不到东西, 导致这类设备拿不到 control-schema。

新增 PanelSpecAdoptService:
- 归一化: 屏端通用协议类型(BOOLEAN/INTEGER/NUMBER/ENUM/STRING) ->
  产品物模型类型(bool/int/float/enum/string);
  access(READ/WRITE/READ_WRITE) -> (read/write/read,write)
- 回流: 已存在的属性只补齐/修正屏端明确提供的字段(不做破坏性覆盖),
  不存在的补建; 产品级已有而屏端未报的属性保留(产品级是超集)
- 语义: 屏端已上报 semantic/channel 直接落库, 缺失时由
  SpecSemanticResolver 兜底推导
- toProperties(): 供无产品设备直接以设备级 schema 作为模型来源

PanelDeviceService: register / updateSchema 均触发回流

ControlSchemaServiceImpl.getDeviceSchema 改造:
- 无 product_id 的设备: 用设备级 schema 构建控制模型(不再直接返回空)
- 有 product_id: 产品基线 + 设备级覆盖层 merge
  同 code 以设备级为准, 设备级独有的 code 追加
- 新增 mergeItem(): 仅覆盖屏端明确提供的字段

验证: mvn -pl iot-common,iot-device -am compile 通过
2026-10-27 12:39:23 +08:00

物联网系统平台

项目简介

企业级物联网系统平台,支持万级设备接入,兼容涂鸦、小度、小米等第三方平台,预留Matter协议扩展接口。

技术栈

后端

  • Java 17
  • Spring Boot 3.2.x
  • Spring Security (认证鉴权)
  • MyBatis Plus (持久层)
  • MySQL 8.0 (关系数据库)
  • InfluxDB 2.x (时序数据库)
  • Redis 7.x (缓存)
  • RabbitMQ (消息队列)
  • EMQX (MQTT Broker)
  • XXL-Job (任务调度)

前端

  • Vue 3 + TypeScript
  • Vite 5.x
  • Element Plus (UI组件库)
  • Pinia (状态管理)
  • Axios (HTTP客户端)
  • ECharts (数据可视化)
  • UniApp (移动端)

项目结构

iotsaas/
├── backend/                 # 后端项目
│   ├── iot-common/         # 公共模块
│   ├── iot-auth/           # 认证服务
│   ├── iot-gateway/        # API网关
│   ├── iot-device/         # 设备管理服务
│   ├── iot-data/           # 数据采集服务
│   ├── iot-rule/           # 规则引擎服务
│   ├── iot-alarm/          # 告警服务
│   └── iot-adapter/        # 设备适配器模块
│       ├── tuya/          # 涂鸦适配器
│       ├── dueros/        # 小度适配器
│       ├── miot/          # 小米适配器
│       └── matter/        # Matter适配器
├── frontend/               # 前端项目
│   ├── admin/             # Web管理后台
│   └── mobile/            # 移动端APP
├── docs/                  # 文档
├── docker/                # Docker配置
├── scripts/               # 脚本工具
└── deploy/                # 部署配置

快速开始

环境要求

  • JDK 17+
  • Node.js 18+
  • MySQL 8.0+
  • Redis 7.x
  • Docker & Docker Compose

后端启动

cd backend
mvn clean install
mvn spring-boot:run

前端启动

cd frontend/admin
npm install
npm run dev

Docker一键启动

docker-compose up -d

核心功能

  • 设备管理与监控
  • 实时数据采集
  • 规则引擎与联动
  • 告警服务
  • 多平台设备适配
  • 数据可视化看板
  • 用户权限管理

开发文档

详细开发文档请参考 docs/ 目录。

许可证

Copyright © 2026 IoT Platform

Description
No description provided
Readme 27 MiB
Languages
Java 75.4%
Vue 18.9%
TypeScript 4.3%
Batchfile 0.9%
JavaScript 0.3%
Other 0.1%