From 7a9504ebcf5f8014be08a1f2da8a93f71f0eac2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 29 Jan 2026 11:35:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=85=E6=94=BE=E7=94=B5?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/device/service/impl/DjiService.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/device/service/impl/DjiService.java b/src/main/java/com/ruoyi/device/service/impl/DjiService.java index e9be97d..ef636b9 100644 --- a/src/main/java/com/ruoyi/device/service/impl/DjiService.java +++ b/src/main/java/com/ruoyi/device/service/impl/DjiService.java @@ -26,6 +26,7 @@ import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; +import java.util.Objects; @Service @Slf4j @@ -78,8 +79,25 @@ public class DjiService { @Override public void onDroneData(DroneData droneData) { // 更新 Dock 表的 lastActiveTime - // updateDockLastActiveTime(droneData.getDeviceSn()); -// log.info("droneData:{}", droneData); + Device device = deviceDomain.selectDeviceByDeviceSn(droneData.getDeviceSn()); + if(Objects.nonNull(device)) { + Aircraft aircraft = aircraftDomain.selectAircraftByDeviceId(device.getDeviceId()); + if(Objects.nonNull(aircraft)) { + List aircrafts = dockAircraftDomain.selectDockAircraftByAircraftId(aircraft.getAircraftId()); + if(!aircrafts.isEmpty()) { + for(DockAircraft dockAircraft : aircrafts) { + Dock dock = dockDomain.selectDockByDockId(dockAircraft.getDockId()); + if(Objects.nonNull(dock)) { + dock.setLastActiveTime(new Date()); + dockDomain.updateDock(dock); + } + } + } + } + + } + + log.info("droneData:{}", droneData); } });