From 8fe9faddf234f7087a516d7e1e068b558289e605 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 10 Feb 2026 14:54:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ard-work/src/main/java/com/ard/work/service/impl/ArdFlightTaskServiceImpl.java | 38 +++++++++++++++++++++++---------------
1 files changed, 23 insertions(+), 15 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 97dc505..35a510a 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
@@ -55,12 +55,16 @@
*/
@Scheduled(fixedDelay = 5000)
public void syncAllFlightHistory() {
- List<String> serverIds = ardServerInfoService.getServerIdsList();
- for (String serverId : serverIds) {
- // 获取上次同步的时间(即数据库中最大 startTime)
- Date lastSyncTime = getLastSyncTimeForServer(serverId);
- // 根据上次同步时间同步飞行历史
- syncFlightHistory(serverId, lastSyncTime);
+ try {
+ List<String> serverIds = ardServerInfoService.getServerIdsList();
+ for (String serverId : serverIds) {
+ // 获取上次同步的时间(即数据库中最大 startTime)
+ Date lastSyncTime = getLastSyncTimeForServer(serverId);
+ // 根据上次同步时间同步飞行历史
+ syncFlightHistory(serverId, lastSyncTime);
+ }
+ } catch (Exception e) {
+ log.error("同步飞行历史失败", e);
}
}
@@ -80,6 +84,8 @@
public void syncFlightHistory(String serverId, Date startTime) {
// 创建查询条件 BoxHistoryDTO,并设置 startTime 作为过滤条件
BoxHistoryDTO boxHistoryDTO = BoxHistoryDTO.builder()
+ .pageIndex(1)
+ .pageSize(20)
.startTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, startTime))
.build();
@@ -100,7 +106,7 @@
ArdFlightTask ardFlightTask = ardFlightTaskMapper.getArdFlightTaskById(boxHistoryReceiver.getTaskId());
if (ardFlightTask == null) {
// 如果不存在,则插入新记录
- log.debug("insert task {}", boxHistoryReceiver.getTaskId());
+ log.info("insert task {}", boxHistoryReceiver.getTaskId());
Date endTime = null;
if (boxHistoryReceiver.getEndTime() != null) {
endTime = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, boxHistoryReceiver.getEndTime());
@@ -126,7 +132,7 @@
Long flyUserId = uavControlService.getCurrentController(flightTask.getBoxSn(), "fly");
if (flyUserId != null) {
- SysUser flyUser = redisCache.getCacheObject(CacheConstants.SYS_USER_KEY + flyUserId);
+ SysUser flyUser = redisCache.getCacheMapValue(CacheConstants.SYS_USER, flyUserId.toString());
if (flyUser != null && flyUser.getNickName() != null) {
flightTask.setCreateBy(flyUser.getNickName());
}
@@ -142,13 +148,12 @@
}
} else {
// 如果存在,则更新记录
- log.debug("Updating task {}", boxHistoryReceiver.getTaskId());
+ log.debug("sync task {}", boxHistoryReceiver.getTaskId());
updateFlightTask(ardFlightTask, boxHistoryReceiver);
- // 增量更新视频
- ardMediaService.updateVideoToDatabase(ardFlightTask, serverId, boxHistoryReceiver.getBoxSn());
- // 增量更新图片
- ardMediaService.updatePhotoToDatabase(ardFlightTask, serverId, boxHistoryReceiver.getBoxSn());
-
+ // 同步任务图片
+ ardMediaService.syncPicToDatabase(ardFlightTask, serverId, boxHistoryReceiver.getBoxSn());
+ // 同步任务视频
+ ardMediaService.syncVideoToDatabase(ardFlightTask, serverId, boxHistoryReceiver.getBoxSn());
}
}
@@ -161,6 +166,10 @@
Date newEnd = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, remote.getEndTime());
if (local.getEndTime() == null || !local.getEndTime().equals(newEnd)) {
local.setEndTime(newEnd);
+ local.setAveSpeed(remote.getAveSpeed());
+ local.setMaxSpeed(remote.getMaxSpeed());
+ local.setFlightDuration(remote.getFlightDuration());
+ local.setFlightMileage(remote.getFlightMileage());
needUpdate = true;
}
}
@@ -183,6 +192,5 @@
ardFlightTaskMapper.updateArdFlightTask(local);
}
}
-
}
--
Gitblit v1.9.3