-
- 将 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 编译通过
-
- 新增 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
-
…MQTT 8KB 上限;@Async 写入加 try/catch 避免静默失败
-
- saveDeviceProperty 改用忽略大小写匹配物模型,统一以 identifier 作为 properties / Redis 缓存的 key, 避免设备上报 key 与物模型 identifier 大小写不一致时被丢弃,并与 Controller 读取 Redis 时使用的 key 对齐 - BOOL 类型先按布尔语义解析再转 0/1,避免 Convert.toByte("true") 走 Byte.parseByte 抛 NumberFormatException - 新增 IotDevicePropertyServiceImplTest,覆盖大小写匹配 / BOOL 各种入参形态 -
- IotAlertTriggerSceneRuleAction 实现 sendAlertMessage:按 receiveTypes 分别走短信 / 邮件 / 站内信通道,逐通道 try/catch 隔离失败 - IotAlertReceiveTypeEnum 新增 templateCode 字段与 of(Integer) 静态查找 - IotAlertRecordService.createAlertRecord 增加 IotDeviceDO 入参,由调用方 在 execute 中一次性回源缓存,避免每个告警配置重复查询 - 新增 IotAlertTriggerSceneRuleActionTest 单元测试