|
|
850a9b1f9f
|
fix(ops): 修复CleanOrderCreateEventHandler语法错误
移除多余的闭合大括号。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 17:55:37 +08:00 |
|
|
|
fc28afd1c9
|
feat(ops): 补充工单状态变更业务日志
- pauseOrder: 记录工单暂停日志
- resumeOrder: 记录工单恢复日志
- interruptOrder: 记录P0插队打断日志
- cancelOrder: 记录工单取消日志
- completeOrder: 记录手动完成日志
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 17:48:27 +08:00 |
|
|
|
e0ad02afbc
|
feat(ops): 补充工单生命周期业务日志记录
- CleanOrderCreateEventHandler: 记录工单创建日志
- CleanOrderArriveEventHandler: 记录到岗日志
- CleanOrderCompleteEventHandler: 记录完成日志
支持客流/信标触发等不同场景的日志分类记录。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 17:48:18 +08:00 |
|
|
|
ebbefe7980
|
Merge branch 'test/cleaning-coverage'
|
2026-01-23 13:49:00 +08:00 |
|
|
|
0de8441672
|
refactor(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
原有 CleanerAreaAssignStrategy 和 CleanerPriorityScheduleStrategy 已禁用,
改为使用 BadgeDeviceAreaAssignStrategy 和 BadgeDeviceScheduleStrategy。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 13:47:22 +08:00 |
|
|
|
a36ed90c3f
|
feat(ops): 扩展调度上下文支持设备ID字段
新增 assigneeDeviceId 字段,用于同时记录人和设备的场景。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-23 13:47:13 +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 |
|
|
|
9750088ca6
|
test: Add comprehensive end-to-end tests for cleaning work order module
|
2026-01-22 23:55:05 +08:00 |
|
|
|
e4d07a5306
|
fix(ci): 修复多 commit 场景下服务构建检测遗漏
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
原 getChangedFiles() 只对比 HEAD~1 和 HEAD,导致一次 push 多个
commits 时只会检测最新一个 commit 的变更。
修改为使用 GIT_PREVIOUS_SUCCESSFUL_COMMIT(Jenkins 内置变量,上次
成功构建的 commit)作为基准,确保所有变更文件都能被正确检测。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-22 10:30:02 +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 |
|
|
|
177350830a
|
refactor(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. VoiceBroadcastService 重构
- 移除未使用的 volume 参数(JT808 协议不支持)
- 添加 TTS 播报标志常量定义
- 新增 broadcastNormal() 和 broadcastUrgent() 方法
- 支持自定义播报标志
2. 更新调用方
- CleanOrderConfirmEventHandler: 使用简化 API
- CleanOrderAuditEventHandler: 使用简化 API
TTS 参数标准:
- identifier: "tts"
- tts_text: 播报文本内容
- tts_flag: 0x01=静默, 0x08=普通, 0x09=紧急
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-22 09:58:19 +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 |
|
|
|
c75696c644
|
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
- 新增 ops_business_event_log 表结构
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:44:30 +08:00 |
|
|
|
c4ef31bb98
|
refactor(ops): 保洁工单相关服务改用新业务日志框架
- CleanOrderAuditEventHandler 使用 @BusinessLog 注解
- CleanOrderConfirmEventHandler 使用 @BusinessLog 注解
- VoiceBroadcastService 使用新的日志记录方式
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:44:21 +08:00 |
|
|
|
457fc556e2
|
refactor(ops): 移除保洁工单清理日志相关代码
- 删除 OpsOrderCleanLogDO 实体类
- 删除 OpsOrderCleanLogMapper Mapper接口
- 统一使用新的业务日志框架
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:44:07 +08:00 |
|
|
|
5063fc8dd1
|
refactor(ops): 移除旧的publisher模式
- 删除 BusinessLogPublisher 接口
- 删除 DefaultBusinessLogPublisher 实现
- 改用 recorder 模式替代 publisher 模式
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:43:54 +08:00 |
|
|
|
a49994cc57
|
refactor(ops): 重构业务日志注解和切面
- 更新 BusinessLog 注解以支持新的事件日志模型
- 更新 BusinessLogAspect 切面使用 EventLogRecorder
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:43:39 +08:00 |
|
|
|
a82b59ac46
|
feat(ops): 新增业务日志枚举类
- 新增 EventDomain:事件领域枚举
- 新增 EventLevel:事件级别枚举
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:43:32 +08:00 |
|
|
|
c88dc3fc10
|
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
- 包名从 handler 改为 listener
- 使用 TransactionalEventListener 替代 EventListener
- 线程池名修正为 ops-task-executor
- 状态从 ASSIGNED 改为 PENDING
- 清理测试文件中的重复代码
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-21 18:05:39 +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 |
|
|
|
3d9079cbaf
|
chore: stop tracking docs directory and update gitignore
|
2026-01-21 09:37:29 +08:00 |
|
|
|
50f2707d4e
|
Merge remote-tracking branch 'origin/feature/environment-module' into feature/environment-module
|
2026-01-21 09:30:49 +08:00 |
|
|
|
8590f3c044
|
test: 完善 OrderStateMachine 和 OpsOrderService 测试用例
|
2026-01-21 09:30:29 +08:00 |
|
|
|
cc6491626d
|
Merge branch 'test/ops-arch-analysis' into feature/environment-module
|
2026-01-20 18:20:39 +08:00 |
|
|
|
8c1133bb8c
|
fix: 修复测试用例失败并完善测试覆盖
|
2026-01-20 18:10:59 +08:00 |
|
|
|
6c509781e9
|
docs: update testing guide with unit test details
|
2026-01-20 18:08:37 +08:00 |
|
|
|
22fad4ad31
|
test: add cleaning flow tests for OpsOrderService
|
2026-01-20 18:07:05 +08:00 |
|
|
|
c2bf98be5a
|
test: add unit tests for OpsOrderService
|
2026-01-20 18:04:40 +08:00 |
|
|
|
e96773daf7
|
test: add unit tests for OrderStateMachine
|
2026-01-20 18:02:35 +08:00 |
|
|
|
50452bec00
|
refactor(ops): 更新 EventHandler 使用新的服务入口
更新各事件处理器以使用重构后的服务:
- CleanOrderEventListener: 使用 VoiceBroadcastService
- CleanOrderAuditEventHandler: 使用 VoiceBroadcastService
- CleanOrderConfirmEventHandler: 使用 VoiceBroadcastService
- BadgeDeviceStatusEventHandler: 更新 import 路径至 environment 模块
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-20 16:30:44 +08:00 |
|
|
|
0c91cbf75c
|
refactor(ops): 重构语音播报服务为统一入口
- 删除 VoiceBroadcastDeduplicationService(去重服务)
- 新增 VoiceBroadcastService 作为 TTS 统一入口
- broadcast(deviceId, text): 同步播报
- broadcast(deviceId, text, volume): 带音量播报
- broadcastAsync(): 异步播报
- 简化设计:接受 deviceId 参数,不实现复杂去重逻辑
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-20 16:29:16 +08:00 |
|
|
|
d82cc65625
|
refactor(ops): 新增 environment 模块的 BadgeDeviceStatusService
将 BadgeDeviceStatusService 迁移至 environment-biz 模块,并扩展 DTO:
- 新建 environment/service/badge/BadgeDeviceStatusService.java 接口
- 新建 environment/service/badge/BadgeDeviceStatusServiceImpl.java 实现
- BadgeDeviceStatusDTO 新增字段:
- currentOrderStatus: 工单状态(DISPATCHED/ARRIVED/PAUSED)
- beaconMac: 当前区域信标MAC地址
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-20 16:26:34 +08:00 |
|
|
|
6d4c2c60cf
|
refactor(ops): 移除 ops-core 中的 BadgeDeviceStatusService
将 BadgeDeviceStatusService 从 ops-core 模块迁移至 environment 模块:
- 删除 ops-biz/core/badge/BadgeDeviceStatusService.java
- 删除 ops-biz/core/badge/BadgeDeviceStatusServiceImpl.java
该服务属于保洁业务特定逻辑,应放置在 environment-biz 模块中。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-20 16:16:06 +08:00 |
|
|
|
a83e827919
|
feat: add badge device status service
|
2026-01-20 11:27:37 +08:00 |
|
|
|
c310a8cb4d
|
chore: add docs and .qoder/repowiki to gitignore
|
2026-01-20 11:19:42 +08:00 |
|
|
|
1bbbc55096
|
fix(ops): align TTS service identifier and logic with audit handler
|
2026-01-20 11:17:50 +08:00 |
|