From 3814365a9c3380161886dc0b6cee6774783b0eb9 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 18 Dec 2025 13:27:26 +0800
Subject: [PATCH] 优化

---
 ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java |    8 ++++++++
 ard-work/src/main/java/com/ard/work/domain/dto/wayline/WaylineInfo.java            |    3 +++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java b/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java
index ecfee04..b993a9a 100644
--- a/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavAllManager.java
@@ -3,6 +3,7 @@
 import com.ard.common.constant.CacheConstants;
 import com.ard.common.core.domain.entity.SysUser;
 import com.ard.common.core.redis.RedisCache;
+import com.ard.work.config.RouteStateMachineService;
 import com.ard.work.domain.cache.UavSignalInfoCache;
 import com.ard.work.domain.cache.UavStateCache;
 import com.ard.work.domain.cache.UavTelemetryDataCache;
@@ -11,6 +12,7 @@
 import com.ard.work.domain.dto.state.UavState;
 import com.ard.work.domain.dto.telemetry.TelemetryData;
 import com.ard.work.domain.dto.wayline.WaylineInfo;
+import com.ard.work.domain.enums.RouteState;
 import com.ard.work.service.control.UavControlService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +31,8 @@
     private UavControlService uavControlService;
     @Autowired
     private RedisCache redisCache;
+    @Autowired
+    private RouteStateMachineService stateMachineService;
 
     @Override
     protected Map<String, Object> getData(String boxSn) {
@@ -37,6 +41,10 @@
         map.put("boxSn", boxSn);
 
         WaylineInfo waylineInfo = UavWaylineCache.get(boxSn);
+        if (waylineInfo != null) {
+            RouteState currentState = stateMachineService.getCurrentState(boxSn);
+            waylineInfo.setRouteState(currentState);
+        }
         map.put("wayline", waylineInfo);
 
         UavState uavState = UavStateCache.get(boxSn);
diff --git a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WaylineInfo.java b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WaylineInfo.java
index e1f9f93..6900e14 100644
--- a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WaylineInfo.java
+++ b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WaylineInfo.java
@@ -1,5 +1,6 @@
 package com.ard.work.domain.dto.wayline;
 
+import com.ard.work.domain.enums.RouteState;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -16,4 +17,6 @@
 public class WaylineInfo {
     private String boxSn;
     private String waylineId;
+    private RouteState routeState;
+
 }

--
Gitblit v1.9.3