refactor(ops): 服务层调整,统一使用设备ID
- CleanOrderService: 将所有 cleanerId 参数改为 deviceId - CleanOrderAutoCreateReqDTO: 新增 triggerData 字段 - EventPublishHandler: 添加 assigneeId/urgentOrderId 到 payload - OrderQueueService: 修正注释说明 userId 实际为 deviceId - EventDomain: 新增 AUDIT 域 - 更新测试用例适配接口变更 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,7 @@ import com.viewsh.framework.common.pojo.CommonResult;
|
||||
import com.viewsh.module.ops.environment.integration.listener.CleanOrderEventListener;
|
||||
import com.viewsh.module.ops.environment.service.cleanorder.CleanOrderServiceImpl;
|
||||
import com.viewsh.module.ops.environment.service.voice.VoiceBroadcastService;
|
||||
import com.viewsh.module.ops.environment.service.badge.BadgeDeviceStatusService;
|
||||
import com.viewsh.module.ops.infrastructure.code.OrderCodeGenerator;
|
||||
import com.viewsh.module.ops.infrastructure.id.OrderIdGenerator;
|
||||
import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecorder;
|
||||
@@ -89,6 +90,10 @@ public class CleanOrderEndToEndTest {
|
||||
private ValueOperations<String, String> valueOperations;
|
||||
@Mock
|
||||
private VoiceBroadcastService voiceBroadcastService;
|
||||
|
||||
@Mock
|
||||
private BadgeDeviceStatusService badgeDeviceStatusService;
|
||||
|
||||
@Mock
|
||||
private EventLogRecorder eventLogRecorder;
|
||||
|
||||
@@ -245,7 +250,8 @@ public class CleanOrderEndToEndTest {
|
||||
@Test
|
||||
void testAV01_BeaconAutoArrive() throws Exception {
|
||||
injectField(arriveEventHandler, "orderLifecycleManager", orderLifecycleManager);
|
||||
|
||||
injectField(arriveEventHandler, "badgeDeviceStatusService", badgeDeviceStatusService);
|
||||
|
||||
// 准备工单:状态 DISPATCHED
|
||||
Long orderId = 1001L;
|
||||
OpsOrderDO order = OpsOrderDO.builder()
|
||||
@@ -283,9 +289,10 @@ public class CleanOrderEndToEndTest {
|
||||
assertEquals(orderId, req.getOrderId());
|
||||
assertEquals(WorkOrderStatusEnum.ARRIVED, req.getTargetStatus());
|
||||
assertTrue(req.getReason().contains("自动到岗确认"));
|
||||
|
||||
// 3. 验证 Redis 缓存更新
|
||||
verify(valueOperations).set(contains("ops:clean:device:order:5001"), anyString(), anyLong(), any(TimeUnit.class));
|
||||
|
||||
// 3. 验证设备状态服务更新工单信息
|
||||
verify(badgeDeviceStatusService).setCurrentOrderInfo(eq(5001L), eq(1001L),
|
||||
eq(WorkOrderStatusEnum.ARRIVED.getStatus()), eq(101L), eq("F0:C8:60:1D:10:BB"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -315,6 +322,7 @@ public class CleanOrderEndToEndTest {
|
||||
void testCP01_SignalLossAutoComplete() throws Exception {
|
||||
injectField(completeEventHandler, "orderLifecycleManager", orderLifecycleManager);
|
||||
injectField(completeEventHandler, "cleanOrderService", cleanOrderService);
|
||||
injectField(completeEventHandler, "badgeDeviceStatusService", badgeDeviceStatusService);
|
||||
injectField(cleanOrderService, "dispatchEngine", dispatchEngine);
|
||||
|
||||
// 准备工单:状态 ARRIVED
|
||||
@@ -333,7 +341,7 @@ public class CleanOrderEndToEndTest {
|
||||
"\"triggerSource\":\"IOT_SIGNAL_LOSS\"," +
|
||||
"\"triggerData\":{\"durationMs\":1800000}" +
|
||||
"}";
|
||||
|
||||
|
||||
// 模拟 autoDispatchNext 调用成功
|
||||
when(dispatchEngine.autoDispatchNext(eq(orderId), eq(2001L)))
|
||||
.thenReturn(DispatchResult.success("Success", 2001L));
|
||||
@@ -345,8 +353,8 @@ public class CleanOrderEndToEndTest {
|
||||
// 1. 验证调用了 completeOrder
|
||||
verify(orderLifecycleManager).completeOrder(eq(orderId), eq(null), contains("信号丢失超时"));
|
||||
|
||||
// 2. 验证清理了 Redis 缓存
|
||||
verify(stringRedisTemplate).delete(contains("ops:clean:device:order:5001"));
|
||||
// 2. 验证清理了设备工单缓存
|
||||
verify(badgeDeviceStatusService).clearCurrentOrder(5001L);
|
||||
|
||||
// 3. 验证触发了自动调度下一单
|
||||
verify(dispatchEngine).autoDispatchNext(eq(orderId), eq(2001L));
|
||||
|
||||
Reference in New Issue
Block a user