From 18f6032658828ceaff5a61ca1f495f74a1092f57 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Wed, 24 Dec 2025 17:23:55 +0800
Subject: [PATCH] 优化架次
---
ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java | 16 +++++++++++-----
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java | 6 +++++-
2 files changed, 16 insertions(+), 6 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 更新
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
index c6a0d66..147f4a8 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -606,6 +606,10 @@
if (ardDroneInfo == null) {
throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn);
}
+ //打点之前先停止打点
+ FlyPointControlCancelCmd flyPointControlCancelCmd = new FlyPointControlCancelCmd(FlyPointControlCancelDTO.builder().boxSn(boxSn).build());
+ this.sendMessage(ardDroneInfo.getServerId(), flyPointControlCancelCmd);
+
FlyPointControlCmd flyPointControlCmd = new FlyPointControlCmd(flyPointControlDTO);
this.sendMessage(ardDroneInfo.getServerId(), flyPointControlCmd);
return true;
@@ -974,7 +978,7 @@
// 处理无人机遥测消息
UavTelemetryDataCmd uavTelemetryDataCmd = (UavTelemetryDataCmd) tyCommand;
TelemetryData telemetryData = uavTelemetryDataCmd.getTelemetryData();
- telemetryData.setTimestamp(System.currentTimeMillis());//由于六合提供的状态时间戳不准,先以接收状态作为时间戳
+ //telemetryData.setTimestamp(System.currentTimeMillis());//由于六合提供的状态时间戳不准,先以接收状态作为时间戳
UavTelemetryDataCache.put(telemetryData);
//logPrint("无人机遥测", uavTelemetryDataCmd.getTelemetryData().getBoxSn());
//WebSocketUtil.sendMessageAll(uavTelemetryDataCmd.getTelemetryData());
--
Gitblit v1.9.3