ea64ca9c61
feat(ops): 安保工单 admin-api/open-api 补全确认、提交、误报接口
...
admin-api:
- 新增 /false-alarm 误报标记接口(权限: ops:security-order:complete)
- createOrder 移除 location 字段
open-api:
- 新增 /confirm 确认工单(无需传 userId)
- 新增 /submit 提交处理结果(结果描述 + 图片)
- 新增 /false-alarm 误报标记
- createOrder 移除 location 字段
VO 优化:
- 合并 SecurityOrderFalseAlarmReqVO 和 SecurityOrderOpenConfirmReqVO
为通用 SecurityOrderIdReqVO,消除重复定义
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 10:33:51 +08:00
f32315f790
feat(ops): 安保工单新增误报标记、完善确认/完单接口支持 open-api 场景
...
- 新增 falseAlarmOrder 方法,标记误报并完成工单
- confirmOrder/manualCompleteOrder 支持 operatorId 为 null(open-api 自动取已分配人员)
- 新增 resolveOperatorId 辅助方法,null 时记录 warn 日志
- createSecurityOrder 移除 location 透传,改用 AreaPathBuilder 自动拼接
- 消除 createSecurityOrder 中 area 重复查询(校验 + buildPath 共用同一 DO)
- OpsOrderSecurityExtDO 新增 falseAlarm 字段
- SecurityOrderCompleteReqDTO.operatorId 移除 @NotNull 约束
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 10:31:50 +08:00
825c8eecca
refactor(ops): 提取 AreaPathBuilder 公共组件,消除保洁/安保 buildAreaPath 重复代码
...
将 CleanOrderServiceImpl 中的 buildAreaPath 私有方法提取到 ops-biz 公共层
AreaPathBuilder 组件,供各业务模块(保洁、安保等)共享使用。同时优化:
- 用正则 matches("\d+") 替代 try-catch NumberFormatException 做数字校验
- 增加相邻重复ID去重保护
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 10:30:03 +08:00
2a20f7a89f
fix(framework): ApiRequestFilter 纳入 /open-api 路径,修复 open-api 多租户拦截缺失
...
TenantSecurityWebFilter 继承 ApiRequestFilter,之前 shouldNotFilter 仅匹配
/admin-api 和 /app-api,导致 /open-api 请求跳过租户校验,DB 层
getRequiredTenantId() 抛 NPE。现在补上 openApi prefix,外部系统需传
tenant-id Header。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:02:02 +08:00
6e56dcb6a2
feat(framework): API 签名、安全白名单与 Web 配置调整
...
- 新增 ApiSignatureProperties 配置类
- 调整签名自动配置与 Redis DAO 实现
- 更新安全白名单与 Web 属性配置
- 网关新增安保模块路由配置
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:35:05 +08:00
0345d0fe39
fix(ops): TTS 业务日志去除冗余"语音播报:"前缀
...
VoiceBroadcastService 和 TtsQueueConsumer 记录 TTS_SENT 日志时
直接使用播报文本内容,title 由 LogType.TTS_SENT 的 description
"语音播报"提供,避免 message 中重复出现。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:34:53 +08:00
6c8c57b932
fix(ops): 保洁工单日志去重,修复到岗/完成日志设备字段为 null
...
- AuditEventHandler 跳过 BEACON_ARRIVE_CONFIRMED 和
BEACON_COMPLETE_REQUESTED 审计事件,避免与状态变更日志重复
- recordOrderArrivedLog 当 payload 无 deviceKey 时从工单主表兜底,
null 字段不再输出
- recordOrderCompletedLog 同样增加 deviceKey 兜底逻辑
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:34:42 +08:00
5f804605c7
refactor(ops): 收口散落的 eventType 硬编码为 LogType 枚举引用
...
替换 CleanOrderCreateEventHandler、OrderLifecycleManagerImpl、
DispatchEngineImpl 中的字符串常量为 LogType.XXX.getCode(),
同时将 DispatchEngine 的 @BusinessLog description 改为"工单自动派发"。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:34:30 +08:00
dc75c78d16
fix(ops): 修复业务日志 title 显示英文常量,改为中文映射
...
/business-logs 接口 title 回退取 eventType 时,通过 LogType.getByCode()
映射中文 description 作为标题。同步调整 @BusinessLog 注解 type 属性
改用 LogType 枚举。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:34:19 +08:00
fc9393e723
refactor(ops): 扩展 LogType 枚举,补全工单生命周期与 IoT 审计事件类型
...
新增 ORDER_CREATED/CONFIRM/ARRIVED/COMPLETED 等工单生命周期枚举、
BEACON_ARRIVE_CONFIRMED/BEACON_COMPLETE_REQUESTED 等 IoT 审计枚举,
添加 getByCode() 反查方法支持中文 title 映射。
同步新增 LogModule 常量类收口模块标识。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:34:08 +08:00
4a7128321e
feat(ops): 安保模块构建配置与枚举扩展
...
- security-biz pom 新增 ops-biz、iot-api 依赖
- ops-server pom 引入 security-biz 模块
- 新增 SECURITY_GUARD 操作人类型、ALARM 来源类型
- 新增安保相关错误码
- dev/local 配置新增安保数据源
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:33:55 +08:00
2e4432e51b
feat(ops): 新增安保工单 Controller 与开放接口
...
包含 SecurityOrderController(创建/确认/完单/自动完单)、
SecurityAreaUserController(区域人员绑定)、
SecurityOrderOpenController(外部回调),
以及对应的 VO 和权限配置。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:33:42 +08:00
0f2fb3c50e
test(ops): 新增安保模块单元测试
...
覆盖 SecurityOrderService、SecurityOrderEventListener、
SecurityAreaAssignStrategy、SecurityOrderExtQueryHandler、
OpsAreaSecurityUserService 的核心逻辑测试。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:33:28 +08:00
4d36bf5b1c
feat(ops): 新增安保工单事件监听器,覆盖全状态业务日志
...
监听工单创建后自动派单、状态变更记录扩展表时间点(派发/确认/
完成),统一记录业务日志,区分系统自动完单与人工完单。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:33:18 +08:00
784c2ed387
feat(ops): 新增安保工单核心服务与派单策略
...
包含安保工单 CRUD(创建/确认/完单)、区域人员绑定服务、
区域分配策略 SecurityAreaAssignStrategy、调度策略
SecurityScheduleStrategy,以及安保扩展查询处理器。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:33:09 +08:00
d53d1c4584
feat(ops): 新增安保模块数据模型与 Mapper
...
新增安保区域人员绑定表 ops_area_security_user 和安保工单扩展表
ops_order_security_ext,以及对应的 DO 和 Mapper 接口。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 17:32:56 +08:00
b8d0a77156
feat(ops): 调整队列评分权重,楼层差×3 老化÷1.67,临界值 1 层=20 分钟
...
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
FLOOR_WEIGHT 20→60、AGING_WEIGHT 5→3,强化就近派单效果。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 15:59:11 +08:00
57f32e56a9
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 队列层基于优先级和时间戳的本地兜底算分逻辑
- 强制 enqueue、batchEnqueue、updatePriority 使用服务层预先计算的 queueScore
- 兼容历史缺少 queueScore 的 Redis 记录,按最低优先级处理避免旧模型重新参与排序
- 补齐 QueueSyncService 的 queueScore 映射,确保 MySQL 同步到 Redis 时保留总分
- 新增 QueueSyncServiceTest 覆盖同步链路携带 queueScore 的行为
2026-03-07 22:44:09 +08:00
af1e0c0989
fix(iot): 暂时取消作业时长不足抑制自动完成逻辑
...
信号丢失超时后不再校验最小有效作业时长,所有情况均直接触发自动完成。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 22:32:16 +08:00
713ae744ac
feat(ops): 客流阈值触发静默处理,工单完成时重置计数器防竞态
...
1. 已派发/已到达(DISPATCHED/CONFIRMED/ARRIVED)状态静默忽略客流触发,
仅排队中(PENDING/QUEUED)状态才升级优先级
2. 工单完成时先重置IoT客流计数器再清除活跃标记,防止残留计数
和MQ消息延迟导致的竞态误创建工单
3. 工单取消时仅清除活跃标记不重置计数器,保留客流数据以便尽快
重新触发
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 22:28:11 +08:00
a9fd9313cc
feat(ops): 重构派单队列评分逻辑,支持楼层差与等待老化综合排序
...
- 新增 QueueScoreCalculator/QueueScoreContext/QueueScoreResult,统一按优先级分 + 楼层差分 - 等待老化分计算队列总分,并将 PRIORITY_WEIGHT 调整为 1500
- OrderQueueService 新增 rebuildWaitingTasksByUserId 接口,OrderQueueServiceEnhanced 支持按执行人重算 WAITING 队列、以当前执行工单楼层为基准动态重排,并在事务提交后同步刷新 Redis
- RedisOrderQueueServiceImpl 支持持久化 baseFloorNo、targetFloorNo、floorDiff、waitMinutes、scoreUpdateTime 等评分明细,清队列时同时清理关联 Hash,避免脏数据残留
- DispatchEngineImpl、CleanerPriorityScheduleStrategy、BadgeDeviceScheduleStrategy 调整为非抢占式派单:P0 忙碌时仅入队等待,空闲时直接派发,自动派单前按总分重排并派发下一单
- CleanOrderServiceImpl 取消 P0 自动打断链路,升级到 P0 后仅重算等待队列并发送通知;补充 QueueScoreCalculatorTest、OrderQueueServiceEnhancedTest、CleanerPriorityScheduleStrategyTest、CleanOrderEndToEndTest 覆盖新行为
2026-03-07 21:15:10 +08:00
26c4ce07eb
feat(iot,ops): 区域设备关联接口返回更多设备信息,修复 N+1 和代码质量问题
...
- IotDeviceSimpleRespDTO 新增 nickname、serialNumber、state、deviceType 字段
- IotDeviceQueryApi 新增 batchGetDevices 批量查询接口
- IotDeviceQueryApiImpl 提取 toSimpleDTO 统一转换、通过产品缓存解析 productName、
移除 blanket try-catch 让异常正确传播、删除无用 import
- AreaDeviceRelationRespVO 新增 nickname、serialNumber、deviceState、deviceType 字段
- AreaDeviceRelationServiceImpl.listByAreaId 改为批量查询避免 N+1 RPC、
增加 null 防护;bindDevice 改为 fail-fast 不再存脏数据
- ErrorCodeConstants 新增 IOT_SERVICE_UNAVAILABLE 错误码
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 21:06:10 +08:00
3bcdb4119f
feat(ops): 新增当月vs上月工单趋势对比数据(monthlyTrendData)
...
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
在 DashboardStatsRespVO 中新增 MonthlyTrendData/MonthData 内部类,
在 OpsStatisticsServiceImpl 中新增 buildMonthlyTrendData 方法,
复用已有的 selectCreatedCountGroupByDate 查询按日统计当月和上月每日创建工单数。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 16:09:17 +08:00
1c8eee9db4
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
- 客流接口支持指定日期查询(getTrafficRealtime、getTrafficTrend、getAreaTrafficRealtime)
- 移除昨日对比趋势字段(yesterdayHourlyTrend),简化为单日期模式
- 漏斗图改为工单状态分布(FunnelItem→StatusDistributionItem),使用 SQL COUNT 替代内存分组
- 新增工牌队列统计(BadgeQueueStats),按 orderType 过滤避免跨类型数据混入
- 在线工牌计数仅统计 IDLE/BUSY 状态(排除 PAUSED/OFFLINE)
- 修复通配符导入和全限定类名引用,规范化 import 语句
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 00:17:26 +08:00
7d1012bba7
fix(iot,ops): 修复退出检测停滞、TTS多租户重复播报,精简语音通知
...
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. 蓝牙信号缺失补偿:设备属性上报不含 bluetoothDevices 时注入 null,
避免 RSSI 滑动窗口因无数据停滞导致退出检测延迟
2. TTS 多租户去重:TtsQueueMessage 携带 tenantId,processSingleQueue
过滤非当前租户消息,解决 @TenantJob 导致同一播报被不同租户重复下发
3. 循环播报日志精简:仅在 broadcastLoop 启动时记录一次 TTS_SENT,
后续重复播报不再写入 ops_business_event_log
4. 移除离岗 TTS 警告和入队语音播报,减少不必要的设备干扰
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 13:09:56 +08:00
7c22fe998e
fix(ops): 统一 Redis 序列化为 StringRedisTemplate,修复跨模块/跨路径数据不兼容
...
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
BadgeDeviceStatusServiceImpl 和 RedisOrderQueueServiceImpl 原使用
RedisTemplate<String, Object>(Jackson JSON 序列化),但 Pipeline、
Lua 脚本写入的裸字符串与 Jackson 格式不兼容,导致:
- IoT 模块 StringRedisTemplate 读取工单状态比对失败(按键无法确认)
- 队列 entries() 反序列化失败(REMOVED 记录无法清理,持续报错)
修改内容:
- BadgeDeviceStatusServiceImpl: RedisTemplate → StringRedisTemplate
- RedisOrderQueueServiceImpl: RedisTemplate → StringRedisTemplate
- 所有写入值显式 String.valueOf(),读取用 parse 替代强转
- 修复 null 值写入 StringRedisSerializer 导致 NPE 的隐患
- application.yaml: TTS 播报间隔 6000ms → 3000ms
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 10:50:03 +08:00
c21c77c758
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. 播报间隔从6秒缩短为3秒
2. stopLoop 清除播报间隔锁,使后续播报可立即发送
3. 按键触发的播报改用 broadcastDirect 直接下发,不走队列
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 18:04:36 +08:00
b4de9d0df8
feat(config): 修改测试环境地址
2026-02-26 17:16:24 +08:00
68342a4f08
fix(ops): 移除废弃接口
2026-02-26 17:15:31 +08:00
5ee039b0bf
feat(ops,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
核心改动:
- 新增循环播报机制:DISPATCHED 状态持续播报"工单来啦"直到按键确认
- 统一按键逻辑:confirmKeyId 和 queryKeyId 都路由到同一处理逻辑,
根据工单状态智能判断行为(确认/查询/无工单提示)
- ARRIVED/COMPLETED 状态静默不播报,CANCELLED 保留取消播报
- 修复 P0:确认去重后按键不再静默,改为发查询事件给反馈
- 修复 P0:PAUSED 状态(P0打断)时停止被打断工单的循环播报
- 修复 P1:handleCompleted 补全 deviceId 兜底逻辑
- 修复 P1:stopLoop 只移除循环消息,保留非循环消息
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 17:13:03 +08:00
6cb784a2d8
feat(ops): 新增客流统计后端接口(区域汇总查询+缓存优化)
...
- 新增 OpsTrafficController 客流统计独立 Controller(/ops/traffic/*)
- 新增区域汇总接口:getAreaTrafficRealtime/getAreaTrafficTrend(多区域ID聚合)
- TrafficRealtimeRespVO 新增 yesterdayHourlyTrend 和 message 字段
- DeviceTrafficRealtimeRespVO 新增 yesterdayHourlyTrend 字段
- 区域接口添加 @Cacheable 5分钟 Redis 缓存
- loadAreaNameMap 添加本地缓存(5分钟TTL)避免重复全表扫描
- areaIds 参数双层限制 200 上限防止 DoS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 16:53:08 +08:00
edaa75b838
fix(ops): 修复取消 QUEUED 工单时队列状态转换校验不允许 WAITING→REMOVED 的问题
...
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
队列状态流转校验缺少 WAITING→REMOVED 的转换规则,导致取消 QUEUED 工单时
队列条目未被正确清理,autoDispatchNext 查到残留的 WAITING 记录后尝试派发
已取消的工单(CANCELLED→DISPATCHED),触发 IllegalStateException 并污染
外层事务,最终抛出 UnexpectedRollbackException。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 22:49:05 +08:00
0a13ba30f6
fix(ops): 修复派发新工单时嵌套取消旧工单导致 UnexpectedRollbackException 的问题
...
使用 REQUIRES_NEW 独立事务隔离 handleDispatched 中的旧工单取消操作,
避免内层事务异常标记外层事务 rollback-only。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 18:00:37 +08:00
7dd3c9a5c4
fix(ops): 修复工牌设备状态残留 BUSY 导致下一工单无法派发的问题
...
- 新增 repairDeviceOrderConsistency 方法,检测设备关联的工单是否已终态,
若是则清除 currentOpsOrderId 并将设备状态恢复为 IDLE
- 定时对账 Job 增加工单一致性检查,自动修复历史残留
- 新增管理员手动修复 API:POST /ops/clean/order/repair-device-status
- 修复预存 bug:valueOf("busy") 改为 fromCode("busy") 避免 IllegalArgumentException
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 17:59:54 +08:00
161f55007b
fix(ops): 手动完单走完整责任链,补全队列同步、设备状态、事件发布等缺失环节
...
原手动完单逻辑直接更新 DB 状态,绕过了 OrderLifecycleManager 责任链,
导致队列未清理、工牌设备状态未恢复 IDLE、自动派发下一任务未触发、
事件表缺少操作人信息等问题。
改动:
- CleanWorkOrderServiceImpl.manualCompleteOrder 改为委托 OrderLifecycleManager
- OrderLifecycleManager 新增 completeOrder(orderId, operatorId, operatorType, remark) 重载
- Controller 注入 SecurityFrameworkUtils.getLoginUserId() 填充操作人
- EventPublishHandler 修复 OrderCompletedEvent.assigneeId 兜底逻辑
- 新增已完成幂等返回和已取消拒绝校验
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 17:12:01 +08:00
3e54094c3d
fix(iot): 修复客流阈值触发时 IoT 模块未将区域配置回写至 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
2026-02-24 18:01:39 +08:00
d85de5eeaa
fix(ops): 修复 AreaDeviceApi Feign 客户端不支持 relationType 为空的查询
2026-02-24 15:45:06 +08:00
4babe493ab
fix(ops): 修复 AreaDeviceController RPC 接口不支持 relationType 为空的查询
2026-02-24 15:44:39 +08:00
f17d5ef6b8
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
- 修复管理后台更新、绑定、解绑设备关联配置时未清理缓存导致旧配置(如客流阈值)在24小时内依然生效的问题
- 采用 Cache-Aside 模式,在 DB 操作后主动逐出 (evictConfigCache) 对应区域的关联类型缓存,确保高可用和强一致性
- 补充 AreaDeviceService Mock,修复并更新对应单元测试
2026-02-24 14:03:49 +08:00
1a245f01ce
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
新增 VoiceTemplate.ORDER_CANCELLED 常量,handleCancelled 在自动调度
下一个任务之前先通过 TTS 队列播报取消通知,与完成流程保持一致。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 12:49:07 +08:00
abaa737d23
fix(ops): 取消工单接口改用 @RequestBody 接收 JSON 参数
...
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
前端以 JSON body 传参,@RequestParam 无法读取导致 400 "请求参数缺失"。
新增 OpsOrderCancelReqDTO,Controller 改为 @RequestBody 风格,
与 create/assign/complete 等接口保持一致。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 12:33:44 +08:00
8ab7e7cc05
fix(ops): 完善手动取消工单接口的状态机、校验和事件处理
...
- 状态机允许 ARRIVED→CANCELLED,与业务枚举 canCancel() 保持一致
- cancelOrder 增加已取消幂等返回,已完成改用 ServiceException
- cancelOrder 构建请求时传递 assigneeId 确保事件链路完整
- CleanOrderEventListener 新增 handleCancelled:记录扩展表取消时间、
自动调度下一个等待任务;业务日志由 LifecycleManager 统一记录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 12:26:47 +08:00
a68ce9a28a
fix(xxl-job): 配置executor IP和端口解决跨服务器回调失败
...
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
XXL-Job Admin部署在Infra服务器,executor运行在Prod服务器的Docker容器中,
容器内部IP不可达,需指定宿主机IP和独立端口供Admin回调。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 17:03:39 +08:00
bec46c2919
fix(rocketmq): 修正ACL配置位置到producer/consumer节点下
...
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
rocketmq-spring-boot-starter的access-key/secret-key需配置在
producer和consumer节点下而非rocketmq根节点,同时为所有
@RocketMQMessageListener注解添加accessKey/secretKey属性。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 16:19:42 +08:00
748b09d355
fix(rocketmq): 添加腾讯云TDMQ ACL认证配置解决连接失败
...
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
修复RocketMQ发送消息报"No accessKey is configured"错误,
统一各模块环境变量名为ROCKETMQ_NAMESRV_ADDR。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 15:50:44 +08:00
91de356a67
fix(iot-gateway): 修正RPC环境变量名为VIEWSH_IOT_GATEWAY_RPC_URL
...
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
Spring Boot relaxed binding将viewsh.iot.gateway.rpc.url映射为
VIEWSH_IOT_GATEWAY_RPC_URL,而非VIEWSH_GATEWAY_RPC_URL。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 15:17:06 +08:00
e15ebfd3d4
fix(iot-gateway): 修正RPC环境变量名不匹配导致连接失败
...
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
docker-compose中VIEWSH_IOT_GATEWAY_RPC_URL与yaml期望的VIEWSH_GATEWAY_RPC_URL不一致,
导致iot-gateway回退到默认值127.0.0.1:48091,容器间无法通信。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 11:39:37 +08:00
26e909cce9
fix(deploy): 迁移Nacos/TDengine/XXL-Job至Infra服务器(172.17.16.7)
...
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
将基础设施服务地址从Prod服务器(172.17.16.14)统一迁移至Infra服务器(172.17.16.7):
- Nacos: 172.17.16.14:8848 → 172.17.16.7:8848
- TDengine: 172.17.16.14:6041 → 172.17.16.7:6041
- XXL-Job: 172.17.16.14:19090 → 172.17.16.7:19090
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 11:22:02 +08:00
547da7cfd2
refactor(deploy): 迁移CI/CD至双服务器架构
...
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
- Jenkinsfile: Registry改为Infra内网172.17.16.7:5000,部署目标改为Prod内网172.17.16.14
- docker-compose: 镜像源改为172.17.16.7:5000,MySQL改为172.17.16.8,Redis改为172.17.16.13,RocketMQ改为腾讯云TDMQ
- 所有模块application-prod.yaml: 统一更新MySQL/Redis/RocketMQ默认连接地址
- deploy.sh: Registry地址同步更新
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 10:41:54 +08:00
c9195f78e9
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
添加告警请求VO、服务接口、服务实现及Controller,支持告警的基本管理操作。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 09:30:57 +08:00