-
支持按产品配置数据解析脚本及在线调试,网关统一处理透传上下行。 原始报文随业务消息保存,兼容 IoTDB、TDengine,补充协议与脚本执行回归。 简化同步消息服务、任务终态与 Modbus 事务字段,统一 encode 输出校验。
-
本地合入 Gitee !1561,沿用数据库 version CAS 与三次重试。 修正影子缓存、删除事务、状态开关及清空校验,补充必要单测。 新增影子权限种子,业务表已通过仓库外升级 SQL 在本地 MySQL 补建。
-
补齐发货状态校验,保留已发货物流编辑和读取状态 CAS,增加并发状态变化回归。 通过统一存储 DAO 幂等清理 TDengine、IoTDB 产品属性表,保留删除失败后的重试能力。 将电话费预置模板改为通讯费科目,补齐实际科目回归,并清理已完成的测试注释。 Refs #1310, #1324, #1326
-
- 迁移依赖坐标、包名和代码生成模板 - 修复全局 Long 转换器不生效导致的导出精度丢失(https://t.zsxq.com/a0w1V)
-
- 通过统一配置选择设备属性历史和消息日志的存储后端,默认 TDengine - 抽取存储 DAO,下沉字段映射、表结构同步和查询逻辑 - 新增 IoTDB 表模型实现、数据源配置、驱动和启动校验 - 使用 device_id 作为唯一 TAG,避免消息 ID 导致元数据基数增长 - 完善字段校验、历史查询过滤及相关单测
-
- 将 device_message 改为 ts + id 复合主键,保留同毫秒的不同消息 - 消息 id 为空时生成 UUID,并补充兜底单测 - 查询按 ts、id 倒序排序,保证同毫秒数据分页稳定 验证:消息服务 14 个单测通过,真实 TDengine 3.3.8.4 集成验证通过 注意:已有消息表需单独迁移,服务端需支持 VARCHAR 复合键 相关讨论:https://t.zsxq.com/YP2ao 相关 PR:https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1598
-
- 将 iot:device:message-end 改为 iot:device:message-send - 与各数据库菜单 SQL 保持一致
-
- 新增 TDengineTableField.buildFieldName,统一转换为小写下划线字段名 - 建表、写入、历史查询统一使用同一字段名生成规则 - 修复 PT/PA 等全大写 identifier 与 TDengine 小写字段比较不一致的问题 - 补充字段名转换契约测试和设备属性表结构同步测试
-
- 新增 TDengineTableField.buildFieldName,统一转换为小写下划线字段名 - 建表、写入、历史查询统一使用同一字段名生成规则 - 修复 PT/PA 等全大写 identifier 与 TDengine 小写字段比较不一致的问题 - 补充字段名转换契约测试和设备属性表结构同步测试
-
升级 Spring Boot 3.5.15、Netty、Redisson、Tika、Hutool、jsch、AWS SDK、Alipay、weixin-java 等依赖。 - easy-trans 迁移到 org.dromara 并同步 Java import - 新增 system 侧 WxJava 配置类,绕过 httpclient4 provided 依赖问题 - 将 WxJava http-client-type 切换为 HttpComponents - 移除显式 httpclient4 依赖
-
- common:LocalDateTimeUtils 增加 GMT+8 默认时区的 ofEpochSecond / toEpochSecond 重载 - system:七牛短信回调使用默认时区解析秒级时间戳,避免本机时区影响接收时间 - iot:当前时间规则使用默认时区转 epoch,修复非 GMT+8 环境下匹配结果错误 验证: - yudao-module-system 单测通过 - yudao-module-iot-biz 单测通过 - yudao-module-iot-gateway 编译通过
-
- 上行/下行统一走 Serializer 标准封套,删除 passthrough 与 encodeRaw/decodeRaw - 删除 IotDeviceShadowReplyDTO,回复改用 replyOf + ProtocolUtils.buildGetData/buildUpdateData - 下行回复走 thing/shadow/update_reply,移除 SHADOW_GET - 同步调整 biz/gateway 测试
-
- Gateway 透传编解码改为 IotMessageSerializer.encodeRaw/decodeRaw,移除 IotShadowPassthroughCodec - 下行 reply 扁平为 { method, code, msg, data },version/timestamp 收进 data(Breaking) - 扩展 IotDeviceShadowProtocolUtils,biz/gateway 测试同步适配 -
- 删除 `iot_device_shadow` 表的 SQL 定义及相关菜单权限插入语句。 - 重构 `IotDeviceShadowController`,使用新的 `IotDeviceShadowProtocolUtils` 处理影子状态的时间戳。 - 更新 Redis DAO 和服务实现,确保影子数据的缓存逻辑与新工具类兼容。 - 增加影子透传编解码逻辑,支持 JSON 格式的设备透传。 - 补充单元测试,确保新逻辑的正确性与稳定性。
-
实现 desired/reported 状态存储与同步,提供查询、期望下发、开关控制与重置接口; 网关支持 thing.shadow.update/get 透传协议,并补充单元测试与菜单权限 SQL。
-
- 新增 IotKafkaMessageBus,支持 IoT gateway 与 yudao-server 通过 Kafka 通信 - 增加 type=kafka 自动配置,并补充消息总线类型说明 - 为 iot-gateway 补充 spring-kafka 依赖和 Kafka 连接配置 - 将 iot-gateway 与 yudao-server 的 IoT message-bus 默认切换为 kafka
-
- 新增 IotKafkaMessageBus,支持 IoT gateway 与 yudao-server 通过 Kafka 通信 - 增加 type=kafka 自动配置,并补充消息总线类型说明 - 为 iot-gateway 补充 spring-kafka 依赖和 Kafka 连接配置 - 将 iot-gateway 与 yudao-server 的 IoT message-bus 默认切换为 kafka
-
Merge pull request !1544 from 熊猫大侠/master-jdk17-iotalert
-
Merge pull request !1543 from 熊猫大侠/master-jdk17-iotscene
-
- 泛化 Modbus 轮询任务为 taskKey,保持默认单点轮询兼容 - 支持 TCP Client 按功能码、轮询间隔和连续地址聚合读取段 - 新增区间读取方法,批量读取后按点位切片上报 - 按 Modbus 单次读取上限拆分读取段 - 补充连续、重叠、拆段和线圈切片单测 https://github.com/YunaiV/ruoyi-vue-pro/issues/1147
-
- 调整 MyBatisUtils.findInSet 使用 MyBatis-Plus 参数绑定 - 增加 columnName 白名单校验,避免列名被注入 - 补充 H2 兼容实现,恢复相关单测覆盖 - 替换各模块动态 FIND_IN_SET 字符串拼接写法 - 补充单参数、多参数绑定场景单测
-
- 抽取物模型属性值转换到 ThingModelService - 支持 ENUM、DATE、BOOL、STRUCT、ARRAY、TEXT 等 TDengine 类型转换 - 跳过 null、非字符串 key 和无效值,并补充单测
-
- 过滤 RPC Modbus 配置列表中的已删除设备 - Modbus TCP Server 刷新配置时清理失效设备资源 - 停止轮询任务并清理 Pending 请求、配置缓存和连接
-
Merge pull request !1540 from 熊猫大侠/master-jdk17-iotalert