|
|
373f379b01
|
refactor(iot): 移除Redis DAO,使用统一服务接口
- 删除 DeviceCurrentOrderRedisDAO
- 各 RuleProcessor 直接调用 BadgeDeviceStatusService
- 简化调用链,移除中间层
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 18:23:15 +08:00 |
|
|
|
8782a530fe
|
feat(ops): 统一语音播报模板管理
- 新建 CleanNotificationConstants 类,集中管理所有播报模板
- VoiceTemplate: 定义各种场景的播报模板常量
- VoiceBuilder: 提供构建器方法,支持参数化和标题截断
- NotifyParamsBuilder: 站内信参数构建辅助方法
- 更新 CleanOrderAuditEventHandler 查询播报为显示当前工单而非位置
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 18:21:04 +08:00 |
|
|
|
577fd25f8e
|
refactor(iot): 清理保洁配置服务中的冗余缓存设计
删除未使用的方法和缓存 key:
- getConfigByDeviceId() 方法:未被任何地方调用
- CONFIG_DEVICE_KEY_PATTERN:仅用于已删除的方法
- CONFIG_AREA_KEY_PATTERN:定义了但从未使用
- formatDeviceKey() 和 formatAreaKey():对应方法已删除
简化后的设计只保留两个缓存 key:
- CONFIG_WRAPPER_KEY_PATTERN:按 deviceId 缓存完整配置
- CONFIG_AREA_TYPE_KEY_PATTERN:按 areaId + relationType 缓存
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 09:49:29 +08:00 |
|
|
|
54b5e7ec77
|
config(iot): 修改网关 RPC 地址端口
48080 → 48091
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 09:38:44 +08:00 |
|
|
|
0ee7611a7d
|
feat(iot): 优化保洁工单配置缓存服务
- 新增空值缓存机制,防止缓存穿透
- 新增区域+类型配置查询缓存
- 统一缓存 TTL 为 5 分钟,空值缓存 60 秒
- 新增缓存失效方法 evictAreaCache
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 09:38:36 +08:00 |
|
|
|
0a5fe13e68
|
refactor(iot): 移除属性保存中的同步规则处理
规则处理已迁移到独立消息订阅者 IotCleanRuleMessageHandler
通过订阅同一消息总线的 Topic 异步处理,不再阻塞属性保存主流程
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 09:38:28 +08:00 |
|
|
|
2a2cfb9030
|
fix(iot): 修复 TrafficThresholdRuleProcessor 编译错误
- 将 StringRedisTemplate 声明移至类顶部字段区域
- 修复变量使用顺序导致的编译错误
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 09:38:20 +08:00 |
|
|
|
22d7a31194
|
feat(iot): 新增保洁规则消息订阅者,实现规则处理异步解耦
新增 IotCleanRuleMessageHandler 订阅设备消息总线,与属性保存主流程解耦
新增 CleanRuleProcessorManager 统一管理保洁规则处理器
优化点:
- 独立消费组,不阻塞属性保存主流程
- 与场景规则引擎架构一致,便于维护
- 支持 PROPERTY_POST 和 EVENT_POST 两种消息类型
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-25 09:38:12 +08:00 |
|
|
|
ebbefe7980
|
Merge branch 'test/cleaning-coverage'
|
2026-01-23 13:49:00 +08:00 |
|
|
|
fffada3761
|
feat(iot): 调整信标和信号丢失处理器以支持配置拆分
配置已按设备类型拆分(BADGE/BEACON/TRAFFIC_COUNTER 各自存储),
工牌设备需要从区域的 BEACON 设备获取信标配置。
- BeaconDetectionRuleProcessor: 从区域 BEACON 设备获取 beaconPresence 配置
- SignalLossRuleProcessor: 从区域 BEACON 设备获取信标配置用于超时检测
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 13:47:04 +08:00 |
|
|
|
06ca3070cd
|
feat(iot): 支持按区域和设备类型查询配置
新增 getConfigByAreaIdAndRelationType 方法,用于跨设备获取配置场景。
例如:工牌设备需要获取该区域的信标配置。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 13:46:49 +08:00 |
|
|
|
5bb3ff6979
|
test: Add comprehensive tests for dispatch strategies and IoT signal processing, fix SignalLossRuleProcessor bug
|
2026-01-23 11:44:49 +08:00 |
|
|
|
4cd520ab78
|
fix(iot-gateway): 兼容设备端消息体长度计算不准确的问题
修改 JT808 解码器,采用更宽松的消息体长度处理策略:
- 使用实际可用的长度(expected 与 actual 取最小值)
- 将长度差异日志降为 DEBUG 级别
- 继续解析消息而不是直接丢弃
原因:部分设备端计算消息体长度时存在偏差,导致位置上报等消息被跳过。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-22 10:10:09 +08:00 |
|
|
|
b1ecc7786b
|
feat(iot-gateway): JT808 新增 instruction_config 服务并修正 TTS 标志
1. 新增 instruction_config 服务
- 用于下发服务指令配置(如 #2014*SET*TTS0:...#)
- 使用 0x01 标志位(静默执行),设备解析后不发声
- 通过文本信息下发 (0x8300) 发送
2. 修正 TTS 服务默认标志
- 默认 tts_flag 从 4 改为 0x08(普通通知)
- 日志输出改为十六进制格式 (0x08, 0x09)
JT808 播报标志规范:
- 0x01: 静默执行(配置指令)
- 0x08: TTS 普通通知
- 0x09: TTS 紧急通知
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-22 09:58:01 +08:00 |
|
|
|
a4cfbbcba1
|
fix(iot-gateway): 降级扩展字段长度越界日志级别
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
将 JT808 解码器中扩展字段长度越界的日志级别从 WARN 降为 DEBUG。
这是设备端数据格式问题,不影响正常消息解析,跳过该扩展字段即可。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 23:30:48 +08:00 |
|
|
|
fa619710ef
|
refactor(iot): 优化事件发布机制并修复状态值解析
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
1. IntegrationEventPublisher 只保留设备状态变更事件发布
- 注释掉 publishPropertyChanged 和 publishEventOccurred 接口
- RocketMQIntegrationEventPublisher 对应实现改为注释
2. IotDevicePropertyServiceImpl 属性消息发布暂停
- 注释掉 saveDeviceProperty 中的 publishPropertyMessage 调用
- 注释掉 publishToIntegrationEventBus 中的实际发布逻辑
3. IotDeviceMessageServiceImpl 新增状态值解析兼容
- 新增 parseStateValue 方法支持整数和字符串格式状态值
- 支持 "online"/"offline" 字符串解析
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 22:56:13 +08:00 |
|
|
|
842b40596d
|
fix: 修复RocketMQ topic名称非法字符问题
RocketMQ topic 只允许 ^[%|a-zA-Z0-9_-]+$ 字符,不支持 `.`
IoT 模块 Topic 变更:
- integration.device.status → integration-device-status
- integration.device.property → integration-device-property
- integration.device.event → integration-device-event
Ops 模块 Topic 变更:
- ops.order.create → ops-order-create
- ops.order.arrive → ops-order-arrive
- ops.order.complete → ops-order-complete
- ops.order.audit → ops-order-audit
- ops.order.confirm → ops-order-confirm
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 22:35:22 +08:00 |
|
|
|
4e387e410c
|
refactor(iot-gateway): JT808编解码器代码重构
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
- 提取 enrichParamsWithMetadata 方法统一处理元数据
- 提取 extractPhoneFromMap 和 extractFlowIdFromMap 方法
- 优化 getParamsAsMap 方法,同时支持 params 和 data 字段
- 优化代码注释格式
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 22:15:12 +08:00 |
|
|
|
110cfc8cf8
|
fix(iot-server): 消费者优先判断skipReply字段
- handleUpstreamDeviceMessage 优先检查 skipReply 字段
- 协议层已处理回复的消息跳过业务层回复逻辑
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 22:12:56 +08:00 |
|
|
|
0c2cd85915
|
fix(iot-gateway): JT808协议使用skipReply标记协议层已应答
- Jt808ProtocolHandler 使用 setSkipReply(true) 替代 setCode(0)
- 避免业务层重复发送回复消息
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 22:12:03 +08:00 |
|
|
|
529171aca6
|
feat(iot-core): 添加skipReply字段支持协议层回复标记
- IotDeviceMessage 新增 skipReply 字段,用于标记协议层已处理回复
- IotDeviceMessageUtils 新增 isSkipReply() 方法
- isUpstreamMessage() 支持 JT808 协议方法判断
- jt808.terminal.* 为上行消息
- jt808.platform.* 为下行消息
解决 JT808 等协议在协议层已发送应答时,业务层无需再回复��场景
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 22:10:29 +08:00 |
|
|
|
5dab9622d6
|
fix(iot): TCP消息处理容错改进,避免异常断开连接
- 消息格式无法识别时记录警告并跳过,不断开连接
- 消息解码失败时记录警告并跳过,不断开连接
- 设备不存在时断开连接,其他认证失败只记录日志
- 添加 bytesToHex 工具方法用于调试
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:05:23 +08:00 |
|
|
|
7c7b122de3
|
fix(iot): 修复JT808业务消息重复应答问题
- 在 handleBusinessMessage 中设置 message.setCode(0) 标记协议层已应答
- 避免业务层重复发送 reply 消息
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:04:57 +08:00 |
|
|
|
eb5513f9b6
|
fix(iot): 修复JT808事件消息identifier字段不匹配问题
- 修复 parseButtonEventAsEvent 使用 eventId 而非 identifier
- 添加消息体长度校验,防止越界访问
- 解码失败时返回 null 而非抛异常,避免断开连接
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:04:21 +08:00 |
|
|
|
447ea8fe90
|
fix(iot): 修改jt808应答调用IotDeviceMessage.requestOf
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-21 15:20:38 +08:00 |
|
|
|
e6406f7c6e
|
fix(iot): 修复RssiSlidingWindowDetector-component注解
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-21 15:04:51 +08:00 |
|
|
|
ed127c3b29
|
fix(iot): jt808消息应答机制调整-每条消息都需应答
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-21 14:48:16 +08:00 |
|
|
|
1d056a5e7a
|
feat(iot): 信号丢失提醒 & 工单完成检测排除P0
|
2026-01-19 10:52:21 +08:00 |
|
|
|
64928f5a3f
|
feat(ops): add-iot-clean-order-integration阶段3-客流计数器重置
|
2026-01-17 17:44:30 +08:00 |
|
|
|
6933a22e1c
|
feat(ops): add-iot-clean-order-integration阶段2-ButtonEventRuleProcessor补充
|
2026-01-17 17:27:29 +08:00 |
|
|
|
de427b15ab
|
feat(iot): add-iot-clean-order-integration阶段二-规则处理器
|
2026-01-17 15:54:12 +08:00 |
|
|
|
471cd45162
|
feat(iot): add-iot-clean-order-integration阶段一-基础设施
|
2026-01-17 15:20:57 +08:00 |
|
|
|
864b5da245
|
fix(iot): 修复JT808消息应答
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-17 00:13:18 +08:00 |
|
|
|
cd362e3f82
|
fix(iot-gateway): 修复 JT808 注册应答消息编码失败的问题
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-16 16:15:52 +08:00 |
|
|
|
cea43d282c
|
fix: 修复iot-gateway调用iot-server地址错误问题
|
2026-01-16 15:31:29 +08:00 |
|
|
|
200a505394
|
fix(iot): fix JT808 escape logic to exclude packet delimiters
|
2026-01-16 15:01:18 +08:00 |
|
|
|
69a9a912da
|
fix(iot): support JT808 auto-authentication on business messages
|
2026-01-16 14:22:23 +08:00 |
|
|
|
0cfd659bd8
|
fix(iot): fix UnsupportedOperationException in JT808 codec
|
2026-01-16 13:24:39 +08:00 |
|
|
|
8a543db18f
|
fix: 修复iot-gateway容器端口未映射
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-16 11:46:47 +08:00 |
|
|
|
7b3e028bea
|
feat(iot): 实现设备 API 接口及更新网关处理逻辑
|
2026-01-15 16:14:25 +08:00 |
|
|
|
de08aea83f
|
feat(iot): 定义设备控制与属性查询 API
|
2026-01-15 16:14:21 +08:00 |
|
|
|
a25c16f151
|
feat(iot): 实现集成事件基础设施
|
2026-01-15 16:14:16 +08:00 |
|
|
|
2a1cdfc4dc
|
Merge remote-tracking branch 'origin/master' into merge-temp
|
2026-01-14 22:49:28 +08:00 |
|
|
|
bcbbde1879
|
fix: iot-gateway去除健康检查、nacos配置
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 17:48:00 +08:00 |
|
|
|
244c8aee96
|
fix: iot-server暂时禁用rabbitMQ
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 17:23:21 +08:00 |
|
|
|
3194ea7f10
|
fix: iot-server添加admin监控
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 17:12:55 +08:00 |
|
|
|
0768ac345e
|
fix: iot-gateway添加admin监控
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 17:01:56 +08:00 |
|
|
|
99a4d72e04
|
fix: 调整IOT服务端口适配健康检查
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 16:14:35 +08:00 |
|
|
|
01f900a6fe
|
fix: 修改xxl-job地址
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 15:43:41 +08:00 |
|
|
|
d04b2e91e1
|
fix: Jenkins修复7-tdengine从 TAOS-WS 改为 TAOS-RS
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
|
2026-01-14 13:25:52 +08:00 |
|