Commit Graph

16 Commits

Author SHA1 Message Date
lzh
d85de5eeaa fix(ops): 修复 AreaDeviceApi Feign 客户端不支持 relationType 为空的查询 2026-02-24 15:45:06 +08:00
lzh
16441e7c25 feat(ops): 实现工单统计看板功能
Some checks failed
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. 修复 MyBatis 类型安全问题
   - 创建 9 个 DTO 类替换 List<Map<String, Object>>
   - 修复 @MapKey 错误,使用强类型返回值

2. 实现工单统计看板 5 大功能
   - 漏斗统计:支持时间范围过滤
   - 时段热力图:改为近 7 天,Y 轴显示日期(MM-dd)
   - 功能类型排行:替换区域排行,JOIN ops_bus_area 表
   - 今日工单时段分布:X 轴优化为每 2 小时展示
   - 近七天客流统计:独立接口,支持工作台实时趋势

3. 字典转换实现
   - 新增 DictTypeConstants.OPS_AREA_FUNCTION_TYPE(保留供未来扩展)
   - 使用硬编码 Map 实现功能类型中文转换(性能最优)
   - 添加 TODO 说明未来可切换 DictFrameworkUtils

4. SQL 优化
   - 功能类型统计:INNER JOIN ops_bus_area 表
   - 热力图查询:按日期和小时分组统计
   - 时段分布:仅统计当天数据

5. 缓存策略
   - 看板统计:5 分钟缓存(@Cacheable)
   - 客流监测:5 分钟缓存
   - 防止高并发查询压力

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 23:28:02 +08:00
lzh
955c825e2c feat(ops,iot): 保洁前端 API 层和区域管理新增
新增保洁业务前端 API 接口层(工牌、工单、仪表盘)和运营区域管理完整功能,包含 Service/Controller/Test 三层结构。

主要功能:

1. IoT 设备查询 API(RPC 接口)
   - IotDeviceQueryApi: 提供设备简化信息查询
   - IotDeviceSimpleRespDTO: 设备简化 DTO

2. 保洁工牌管理
   - CleanBadgeService/Impl: 工牌通知、优先级调整、手动完成
   - BadgeNotifyReqDTO/UpgradePriorityReqDTO/ManualCompleteOrderReqDTO

3. 保洁工单管理
   - CleanWorkOrderService/Impl: 工单时间线查询

4. 保洁仪表盘
   - CleanDashboardService/Impl: 快速统计(待处理/进行中/已完成/在线工牌数)
   - QuickStatsRespDTO: 快速统计 DTO

5. 运营区域管理(Ops Biz)
   - OpsBusAreaService/Impl: 区域 CRUD(支持树形结构、分页查询)
   - AreaDeviceRelationService/Impl: 区域设备关联管理(绑定/解绑/批量更新)
   - OpsBusAreaMapper/AreaDeviceRelationMapper: 扩展 MyBatis 批量方法
   - 7 个 VO 类:CreateReqVO/UpdateReqVO/PageReqVO/RespVO/BindReqVO/RelationRespVO/DeviceUpdateReqVO

6. 前端 Controller(Ops Server)
   - OpsBusAreaController: 区域管理 REST API(11 个接口)
   - AreaDeviceRelationController: 设备关联 REST API(8 个接口)
   - CleanBadgeController: 工牌管理 REST API(5 个接口)
   - CleanDashboardController: 仪表盘 REST API(1 个接口)
   - CleanDeviceController: 设备管理 REST API(2 个接口)
   - CleanWorkOrderController: 工单管理 REST API(2 个接口)

7. 测试覆盖
   - OpsBusAreaServiceTest: 区域服务测试(284 行)
   - AreaDeviceRelationServiceTest: 设备关联测试(240 行)
   - OpsBusAreaControllerTest: 区域 Controller 测试(186 行)
   - AreaDeviceRelationControllerTest: 设备关联 Controller 测试(182 行)

8. API 层扩展
   - ErrorCodeConstants: 错误码常量(区域、设备关联)
   - NotifyTypeEnum: 通知类型枚举(语音、文本、震动)
   - 4 个 Badge/Order DTO: BadgeStatusRespDTO/BadgeRealtimeStatusRespDTO/OrderTimelineRespDTO

9. RPC 配置
   - RpcConfiguration: 注入 IotDeviceQueryApi

影响模块:Ops API、Ops Biz、Ops Server、Ops Environment Biz、IoT API、IoT Server

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 22:42:45 +08:00
lzh
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
lzh
f9742137c5 fix(ops): 修复工单队列Redis存储与自动派单问题
Some checks failed
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
lzh
d87d4dd914 refactor(ops,iot): 重构区域设备关联模块并添加Redis缓存
Some checks failed
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. 将 ops_area_device_relation 表所有权移至 Ops 模块
   - 新增 OpsAreaDeviceRelationDO、Mapper、Service、Controller
   - 新增 AreaDeviceApi Feign 接口供其他模块调用
   - ���除 IoT 模块中的旧 DO 和 Mapper

2. 实现 Redis JSON 缓存(IoT 可读)
   - 统一缓存 Key: ops:area:device:{deviceId}
   - 统一缓存 Key: ops:area:{areaId}:type:{relationType}
   - TTL: 30分钟,空值缓存: 1分钟

3. IoT 模块通过 Feign 调用 Ops
   - 优先读 Redis 缓存,未命中时调用 Ops API
   - 缓存由 Ops 模块统一管理

4. 删除 IoT 模块废弃文件
   - OpsAreaDeviceRelationDO.java
   - OpsAreaDeviceRelationMapper.java

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:35:41 +08:00
lzh
a8d3fc84d2 refactor(ops): 服务层调整,统一使用设备ID
Some checks failed
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
- CleanOrderService: 将所有 cleanerId 参数改为 deviceId
- CleanOrderAutoCreateReqDTO: 新增 triggerData 字段
- EventPublishHandler: 添加 assigneeId/urgentOrderId 到 payload
- OrderQueueService: 修正注释说明 userId 实际为 deviceId
- EventDomain: 新增 AUDIT 域
- 更新测试用例适配接口变更

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 18:23:37 +08:00
lzh
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
lzh
eedef70581 feat(ops): add confirm event DTO and update audit DTO 2026-01-19 14:41:05 +08:00
lzh
97f30356d8 chore: 【ops】工单队列状态调整 2026-01-08 15:12:59 +08:00
lzh
e4fa971fea chore: 【ops】工单队列管理 2026-01-08 15:12:39 +08:00
lzh
bb94103548 chore: 【ops】保洁员DispatchEngine 2026-01-06 10:51:55 +08:00
lzh
46926e8127 chore: 【ops】工单排队队列实现 2026-01-06 10:50:20 +08:00
lzh
ffe5d8f778 chore: 【ops】实体类新增 2026-01-06 10:46:05 +08:00
lzh
8d9d774622 chore: 【ops】枚举类新增 2026-01-05 16:47:07 +08:00
lzh
16f0b71ead chore: ops模块构建(业务运营)- 主要实现 基础建设、保洁、安保、工程、客服 等功能 2025-12-31 16:49:44 +08:00