From a7de52f612afd19e76909635bc273aa502698b2e Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 25 Dec 2025 10:28:13 +0800
Subject: [PATCH] 优化飞行轨迹

---
 ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java
index 4ab7d19..c6b8b3b 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java
@@ -122,6 +122,10 @@
         if (ardFlightTask == null) {
             // 如果不存在,则插入新记录
             log.debug("insert task {}", boxHistoryReceiver.getTaskId());
+            Date endTime = null;
+            if (boxHistoryReceiver.getEndTime() != null) {
+                endTime = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, boxHistoryReceiver.getEndTime());
+            }
             // 创建FlightTask实体对象并填充数据
             ArdFlightTask flightTask = ArdFlightTask.builder()
                     .taskId(boxHistoryReceiver.getTaskId())
@@ -134,7 +138,7 @@
                     .videoPath(boxHistoryReceiver.getVideoPath())
                     .serverId(serverId)
                     .startTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, boxHistoryReceiver.getStartTime()))
-                    .endTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, boxHistoryReceiver.getEndTime()))
+                    .endTime(endTime)
                     .flightMileage(boxHistoryReceiver.getFlightMileage())
                     .flightDuration(boxHistoryReceiver.getFlightDuration())
                     .aveSpeed(boxHistoryReceiver.getAveSpeed())
@@ -177,10 +181,12 @@
         boolean needUpdate = false;
 
         // endTime 更新(重要!!!)
-        Date newEnd = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, remote.getEndTime());
-        if (newEnd != null && (local.getEndTime() == null || !local.getEndTime().equals(newEnd))) {
-            local.setEndTime(newEnd);
-            needUpdate = true;
+        if (remote.getEndTime() != null) {
+            Date newEnd = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, remote.getEndTime());
+            if (local.getEndTime() == null || !local.getEndTime().equals(newEnd)) {
+                local.setEndTime(newEnd);
+                needUpdate = true;
+            }
         }
 
         // photoCount 更新

--
Gitblit v1.9.3