From cbfd77da5cbb99624123a6f4c03cb5b4c69b1a4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Wed, 21 Jan 2026 18:51:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A0=E4=BA=BA=E6=9C=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/dto/AircraftDetailDTO.java | 3 +- .../device/service/impl/BufferDeviceImpl.java | 37 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/device/service/dto/AircraftDetailDTO.java b/src/main/java/com/ruoyi/device/service/dto/AircraftDetailDTO.java index 83a39c6..a2da58f 100644 --- a/src/main/java/com/ruoyi/device/service/dto/AircraftDetailDTO.java +++ b/src/main/java/com/ruoyi/device/service/dto/AircraftDetailDTO.java @@ -1,5 +1,6 @@ package com.ruoyi.device.service.dto; +import com.ruoyi.device.api.domain.PayloadVO; import lombok.Data; import java.io.Serializable; @@ -38,7 +39,7 @@ public class AircraftDetailDTO implements Serializable private String aircraftStatus; /** 挂载列表 */ - private List payloadList; + private List payloadList; // ========== AircraftDetailVO 特有字段 ========== diff --git a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java index 31bd49c..bacdfb9 100644 --- a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java @@ -136,7 +136,42 @@ public class BufferDeviceImpl implements IBufferDeviceService @Override public AircraftDetailDTO getAircraftDetailById(Long aircraftId) { - return null; + Aircraft aircraft = aircraftDomain.selectAircraftByAircraftId(aircraftId); + + log.info("selectAircraftByAircraftId {}",JSON.toJSONString(aircraft)); + if (aircraft == null) + { + return null; + } + + Device device = deviceDomain.selectDeviceByDeviceId(aircraft.getDeviceId()); + log.info("selectDeviceByDeviceId {}",JSON.toJSONString(device)); + + + AircraftDetailDTO dto = getChangeAbleAirDetailDTO(device.getIotDeviceId()); + dto.setAircraftId(aircraft.getAircraftId()); + dto.setAircraftName(aircraft.getAircraftName()); + + List aircraftPayloads = + aircraftPayloadDomain.selectAircraftPayloadByAircraftId(aircraft.getAircraftId()); + + if(!CollectionUtils.isEmpty(aircraftPayloads)){ + List payloads = new ArrayList<>(aircraftPayloads.size()); + for(AircraftPayload aircraftPayload : aircraftPayloads){ + Payload payload = payloadDomain.selectPayloadByPayloadId(aircraftPayload.getPayloadId()); + PayloadVO payloadVO = new PayloadVO(); + payloadVO.setPayloadId(aircraftPayload.getPayloadId()); + payloadVO.setPayloadName(payload.getPayloadName()); + payloadVO.setPayloadType(payload.getPayloadType()); + payloadVO.setPayloadStatus(PayloadStatusEnum.ONLINE.getCode()); + + payloads.add(payloadVO); + } + dto.setPayloadList(payloads); + } + + + return dto; }