|
|
bdf5b640b0
|
refactor(ops): 工单中心查询接口参数封装重构
优化 OrderCenterController.queryPage() 方法签名,从 9 个独立参数封装为单个对象,提升代码可维护性。
主要变更:
1. OrderQuery 改用 Lombok @Data 替代手写 getter/setter(减少 ~120 行)
2. OrderQuery.status 从 String 改为 List<String>,支持前端多状态筛选
3. OrderQueryServiceImpl 使用 inIfPresent() 生成 IN 查询(兼容单选和多选)
4. OrderCenterController 接收 OrderQuery 对象替代 9 个 @RequestParam
5. OrderCenterControllerTest 适配新签名,新增多状态测试用例
向后兼容:
- 前端传单个 status=PENDING,Spring 自动转 List.of("PENDING")
- 前端传多个 status=A&status=B,Spring 自动转 List.of("A","B")
- 原有单状态查询不受影响
影响模块:Ops Biz、Ops Server
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-02 22:37:06 +08:00 |
|
|
|
e95080dc8a
|
feat(ops): 工单引擎增加 assigneeName 冗余字段
在工单核心引擎各层级增加 assigneeName 冗余字段,存储执行人的可读名称(优先使用 nickname,降级为 deviceCode),
避免查询时关联 IoT 设备表,提升查询性能。
变更范围:
- OpsOrderDO: 新增 assigneeName 字段
- OrderTransitionRequest: 新增 assigneeName 参数
- OrderDispatchContext: 新增 recommendedAssigneeName 字段
- DispatchEngineImpl: 派单/入队/打断时透传 assigneeName
- OrderLifecycleManagerImpl: 分配/派发/入队时写入 assigneeName
- OpsOrderAssignReqDTO: 新增 assigneeName 参数
- OrderSummaryVO: 新增 sourceType、assigneeName 字段
- BadgeDeviceStatusDTO: 新增 nickname 字段
影响模块:Ops Biz、Ops API
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-02 22:34:00 +08:00 |
|
|
|
bccf992848
|
feat(ops): 工牌设备状态服务支持 nickname 透传
在工牌设备状态管理链路中全面支持 nickname 字段透传,从 IoT 事件接收到派单策略推荐均使用用户可读的昵称。
变更范围:
- IotDeviceStatusChangedEventDTO: 新增 nickname 字段
- BadgeDeviceStatusEventHandler: 接收并透传 nickname
- BadgeDeviceStatusService/Impl: updateBadgeOnlineStatus 增加 nickname 参数
- BadgeDeviceStatusSyncJob: 对账场景保留 Redis 已有 nickname
- BadgeDeviceAreaAssignStrategy: 推荐执行人时优先使用 nickname
- BadgeDeviceDispatchTest: 测试适配 nickname 参数
影响模块:Ops Environment Biz
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-02 22:30:06 +08:00 |
|
|
|
b4fad17254
|
feat(iot): 设备事件增加 nickname 字段
在 BaseDeviceEvent 中新增 nickname 字段,用于存储设备的用户可读显示名称(如"张三的工牌"),
IotDeviceServiceImpl 在发送设备状态变更事件时自动填充该字段。
变更范围:
- BaseDeviceEvent: 新增 nickname 字段
- IotDeviceServiceImpl: 事件发送时携带 nickname
影响模块:IoT Core、IoT Server
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-02 22:26:37 +08:00 |
|
|
|
46096a6e6b
|
fix(iot,ops): 确保信标相关审计事件包含orderId以支持工单关联查询
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. BeaconDetectionRuleProcessor.publishAuditEvent 添加 orderId 参数
- BEACON_ARRIVE_CONFIRMED 事件包含当前工单ID
- BEACON_LEAVE_WARNING_SENT 事件从设备状态获取工单ID
- TTS_REQUEST 事件不包含工单ID(非工单特定)
2. SignalLossRuleProcessor.publishAuditEvent 添加 orderId 参数
- BEACON_COMPLETE_REQUESTED 事件包含当前工单ID
- COMPLETE_SUPPRESSED_INVALID 事件从设备状态获取工单ID
3. CleanOrderAuditEventHandler 使用 EventLogRecord.builder()
- 显式设置 targetId 和 targetType 字段
- 确保 targetType="order" 当 orderId 存在时
影响范围:
- ops_business_event_log 表新增记录将正确包含 targetId 和 targetType
- 支持按工单ID查询所有相关审计日志
- 解决信标到岗/离岗/完成事件缺失工单关联的问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 10:26:06 +08:00 |
|
|
|
fc1bc609e6
|
test(ops): 修复测试代码中 isNull() 参数匹配问题
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
使用 any(Long.class) 替代 isNull() 以正确匹配 Long 类型参数
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 02:45:05 +08:00 |
|
|
|
83c9fb98d7
|
test(ops): 修复测试代码中的参数验证问题
- 修复 broadcast 方法验证,使用 isNull() 匹配 orderId 参数
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 02:43:02 +08:00 |
|
|
|
3c3443aef0
|
test(ops): 修复测试代码以适配方法签名变更
- 修复 sendPriorityUpgradeNotification 方法调用,添加 orderId 参数
- 修复 broadcast 方法调用,添加 ttsFlag 参数
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 02:42:04 +08:00 |
|
|
|
c6610e97f0
|
fix(ops): 修复 TtsQueueConsumer 中 Set/List 类型不匹配问题
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
修复了 redisTemplate.keys() 返回 Set<String> 但代码声明为 List<String> 的类型不匹配问题
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 02:26:47 +08:00 |
|
|
|
0a0f6be68e
|
修复 TtsQueueConsumer 缺少 Resource 注解导入
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-02-01 02:17:18 +08:00 |
|
|
|
2afc173e18
|
修复 ops_business_event_log 表中日志缺少 targetType 和 targetId 的问题
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-02-01 02:05:41 +08:00 |
|
|
|
41c4f57f05
|
新增 TTS 队列相关文件
|
2026-02-01 02:05:08 +08:00 |
|
|
|
fecaa28bc7
|
feat(ops): 优化工单查询语音播报内容
- 播报当前工单作业区域(替代工单标题)
- 播报剩余待办工单数量
- 简化播报文案,更人性化
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 01:49:35 +08:00 |
|
|
|
d2f2e06c58
|
test: 更新测试数据以适配配置模型变更
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
- SignalLossRuleProcessorTest: 更新测试用例
- area_device_relation_full_config.sql: 移除buttonEvent配置
- badge_device_dispatch_test_data.sql: 更新测试数据
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 00:57:52 +08:00 |
|
|
|
5d8c4045d4
|
refactor(ops): 简化AreaDevice与BadgeDevice服务实现
- AreaDeviceService: 移���设备索引缓存逻辑(由IoT模块管理)
- AreaDeviceServiceImpl: 简化实现,直接查询数据库
- BadgeDeviceStatusService: 更新接口方法签名
- BadgeDeviceStatusServiceImpl: 修复语法错误,简化实现
- BadgeDeviceStatusEventListener: 适配事件处理逻辑
- CleanOrderEventListener: 更新事件处理
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 00:57:38 +08:00 |
|
|
|
3839da2966
|
refactor(iot): 适配规则处理器使用新的配置查询方法
- ButtonEventRuleProcessor: 改为从设备 config 读取按键配置
- TrafficThresholdRuleProcessor: 使用 getConfigWrapperByDeviceId 方法
- BeaconDetectionRuleProcessor: 使用 getConfigByAreaIdAndRelationType 方法
- SignalLossRuleProcessor: 使用 getConfigByAreaIdAndRelationType 方法
- CleanRuleProcessorManager: 更新处理流程
- 添加性能优化 TODO 注释
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 00:57:23 +08:00 |
|
|
|
89e68eceb2
|
refactor(iot): 重构配置模型与实现双层缓存优化
- 将 buttonEvent 配置从区域级移至设备级(iot_device.config)
- 添加 getConfigWrapperByDeviceId 方法支持一对一设备查询
- 实现设备索引缓存 + 区域配置缓存的双层缓存设计
- 添加设备类型常量 DEVICE_RELATION_TYPES
- 完善 JavaDoc 注释说明配置层级划分
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 00:57:03 +08:00 |
|
|
|
b73ef4f39f
|
fix(ops): 迁移updateStatus修复到Enhanced实现
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
REMOVED 状态改为同步更新 Redis,避免自动派单查询到已完成任务
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-31 19:05:26 +08:00 |
|
|
|
009fab543f
|
refactor(ops): 删除重复的OrderQueueServiceImpl实现类
保留 OrderQueueServiceEnhanced 作为唯一实现,避免Bean冲突
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-31 18:53:41 +08:00 |
|
|
|
f9742137c5
|
fix(ops): 修复工单队列Redis存储与自动派单问题
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
- Redis Sorted Set 改用 queueId 作为 member,详细信息存储在 Hash
- REMOVED 状态同步更新 Redis,避免自动派单查询到已完成任务
- 新增 getWaitingTasksByUserIdFromDb() 强制从 MySQL 读取最新数据
- 修复队列状态枚举值统一为大写
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-31 18:28:27 +08:00 |
|
|
|
5c31f5eb71
|
fix(ops): 修复改为分步构建责任链-id生成
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-31 00:54:13 +08:00 |
|
|
|
b95674b9e0
|
fix(ops): 修复改为分步构建责任链-不构建队列bug
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-31 00:08:43 +08:00 |
|
|
|
4d34951799
|
fix(ops): 修复工单队列一致性与设备状态覆盖问题
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-30 14:50:38 +08:00 |
|
|
|
28b9a32cb6
|
feat(ops): 事件日志增强与空闲设备待办检查
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
- 实现空闲设备待办工单检查定时任务
- 修复事件日志 orderId 关联 (使用 targetId)
- 增强语音播报和工单事件的日志完整性
|
2026-01-30 12:03:24 +08:00 |
|
|
|
80278f64f6
|
fix(ops): 修改新工单语音
|
2026-01-30 10:52:53 +08:00 |
|
|
|
dbf96e521a
|
fix(beacon): 修复RSSI滑动窗口检测逻辑 - 窗口大小改用max(enter/exit.windowSize) - 进入/退出检测分别使用各自的windowSize子窗口 - 到岗确认时清理RSSI窗口避免历史脏数据
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-30 10:24:20 +08:00 |
|
|
|
f818641b1a
|
fix(ops): 更新工单完成语音播报模板
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-30 09:46:36 +08:00 |
|
|
|
abd5933877
|
fix(ops): 入队和派单时设置assigneeDeviceId,修复查询工单功能
|
2026-01-30 09:45:36 +08:00 |
|
|
|
fe92b4cafb
|
fix(ops): 工单完成添加语音播报和assigneeId传递
|
2026-01-30 09:45:16 +08:00 |
|
|
|
895fcc2712
|
fix(iot): 定时任务设置租户上下文,确保RocketMQ消息正确携带租户信息
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-30 09:09:08 +08:00 |
|
|
|
1bdcfa1cc0
|
fix(ops): 启动时初始化BEACON类型配置缓存,解决SignalLoss定时任务获取配置失败问题
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-30 01:25:14 +08:00 |
|
|
|
27704bf227
|
Merge remote-tracking branch 'origin/master'
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
# Conflicts:
# viewsh-module-iot/viewsh-module-iot-server/src/main/java/com/viewsh/module/iot/service/rule/clean/processor/BeaconDetectionRuleProcessor.java
|
2026-01-30 00:51:19 +08:00 |
|
|
|
6ff40b61d7
|
fix(beacon): 修复信标检测重复触发到岗事件bug - determineState优先检查本地arrivedTime判断状态 - 离岗警告阶段保持IN_AREA状态不清除arrivedTime - arrivedTime仅在工单完成时由SignalLossRuleProcessor清除
|
2026-01-30 00:50:01 +08:00 |
|
|
|
cc9a84e30d
|
fix(beacon): 修复信标检测重复触发到岗事件bug
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
- determineState优先检查本地arrivedTime判断状态
- handleLeaveConfirmed离岗时清除arrivedTime
- 避免依赖跨模块异步状态同步导致的事件重复
|
2026-01-30 00:27:53 +08:00 |
|
|
|
260d4b8220
|
fix(ops): 修复区域路径拼接重复问题
在构建区域完整路径时,跳过当前区域ID,避免parentPath中
包含当前区域时导致名称重复拼接
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-30 00:17:38 +08:00 |
|
|
|
fee974912e
|
feat(ops): 添加工单到岗语音播报
1. VoiceBuilder 新增 buildOrderArrived() 方法
2. 到岗时播报"已到达作业区域,请开始清洁作业"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 23:36:56 +08:00 |
|
|
|
d97125fdf6
|
feat(ops): 优化工单播报语音内容,自动生成区域完整路径
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. 语音播报模板改为"工单来啦,请前往XXX进行清洁"
2. 工单创建时自动根据areaId从ops_bus_area构建完整路径
3. 使用parentPath批量查询上级区域,避免N+1问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 23:13:50 +08:00 |
|
|
|
3ec7590e12
|
fix(ops): 修复派单时未更新工单 assigneeId 的问题
工单派发(PENDING -> DISPATCHED)时,更新工单表的 assigneeId 字段,
确保 BadgeDeviceStatusEventListener 能正确获取执行人设备ID并更新 Redis 缓存。
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 23:04:43 +08:00 |
|
|
|
9d2bbabf1c
|
feat(ops): 添加事件发布和设备状态监听器日志便于排查
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. OrderEventPublisherImpl 状态变更事件发布日志改为 info 级别
2. BadgeDeviceStatusEventListener 状态变更日志改为 info 级别
3. 优化日志格式,输出 orderType 便于排查事件接收问题
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 22:17:03 +08:00 |
|
|
|
20ea25cf55
|
fix(ops): 修复事件重复发布问题并清理遗留代码
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. 移除 OrderStateMachine 中重复的事件发布逻辑
- OrderStateMachine 不再发布 OrderStateChangedEvent
- 事件发布统一由 EventPublishHandler 处理
2. 删除 enqueueAndDispatch 遗留方法
- 该方法已无用,被 DispatchEngine 策略模式替代
- 删除接口声明、实现类和测试用例
3. 清理无调用的备用接口方法
- enqueueOrderOnly、dispatchToCleaner、confirmOrder、
startWorkingOnBeacon、autoCompleteOnSignalLost、
playVoiceForNewOrder、playVoiceForQueuedOrder、
playVoiceForNextTask、upgradePriorityToP0、
calculateActualDuration
- 保留接口但标记 @Deprecated
问题修复:
- 工单派发时 TTS 语音播报不再重复触发
- 调度逻辑统一走 DispatchEngine 策略模式
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 21:38:50 +08:00 |
|
|
|
13c9b6564f
|
fix(iot): 修复事件上报处理逻辑,支持 button_event 事件
1. CleanRuleProcessorManager 新增 processEventData() 方法
- 区分处理属性上报和事件上报
- 事件上报从 identifier 字段提取事件类型
2. ButtonEventRuleProcessor.parseButtonId() 支持事件上报格式
- 属性上报:value 直接是按键ID
- 事件上报:value 是 Map,包含 keyId 和 keyState 字段
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 21:28:43 +08:00 |
|
|
|
ab1cc2bc62
|
fix(ops): 事件监听从TransactionalEventListener改为EventListener
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-29 19:32:43 +08:00 |
|
|
|
d8fd0aa389
|
fix(ops): 修复直接派单场景事件发布问题并统一日志规范
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. 修复 QueueSyncHandler 在直接派单场景下提前返回的问题
2. 修复 EventPublishHandler 日志级别便于排查
3. 统一 LogType.eventType 为大写下划线格式
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 19:01:27 +08:00 |
|
|
|
f44f422ba8
|
fix(ops): 修复设备上线时未更新区域索引缓存的问题
问题:设备上线时 updateBadgeOnlineStatus() 只更新了 currentAreaId 字段,
未调用 addToAreaIndex() 更新 ops:area:badges:{areaId} 缓存,
导致设备上线后区域设备查询返回空。
修复:当 areaId 不为空时,同时调用 addToAreaIndex() 更新区域设备索引缓存。
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 18:38:10 +08:00 |
|
|
|
569ca2c0da
|
fix(ops): 修复区域设备索引缓存问题并优化查询性能
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. 修复 listAvailableBadges() 读穿透 bug
- 改用 areaDeviceService.getDeviceIdsByArea() 获取设备列表
- 缓存未命中时自动从数据库重建
2. 优化 N+1 查询问题
- listBadgesByArea() 和 listAvailableBadges() 使用 batchGetBadgeStatus() 批量查询
3. 简化 BadgeDeviceStatusServiceImpl
- 移除重复的 AREA_BADGES_KEY_PREFIX 常量
- 区域索引操作委托给 AreaDeviceService 处理
4. 增强缓存可靠性
- getDeviceIdsByArea() 支持读穿透缓存
- 缓存 TTL 从 30 分钟延长到 24 小时
Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
|
2026-01-29 18:32:34 +08:00 |
|
|
|
6234709e19
|
fix: ops镜像修复
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-29 17:48:19 +08:00 |
|
|
|
68e432ead7
|
fix(ops): BadgeDeviceStatusInitializer修复无租户上下文的启动阶段可以全量同步
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-29 16:53:27 +08:00 |
|
|
|
44c7d7b9f5
|
refactor(ops): simplify badge status management by removing redundant heartbeat logic
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-29 13:04:19 +08:00 |
|
|
|
da19b87377
|
fix(ops): strictly control heartbeat logic to prevent ghost online status
|
2026-01-29 11:55:51 +08:00 |
|
|
|
1e5842756e
|
config(ops): enable feign client for IotDeviceStatusQueryApi
|
2026-01-29 11:50:49 +08:00 |
|