diff --git a/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java b/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java index 33e6400..970c8a7 100644 --- a/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java +++ b/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java @@ -1,8 +1,11 @@ package com.ruoyi.device.service.dto; +import com.ruoyi.common.core.annotation.Excel; +import com.ruoyi.device.api.domain.PayloadVO; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * 机场详情DTO对象 @@ -39,8 +42,26 @@ public class DockDetailDTO implements Serializable /** 机场状态 */ private String dockStatus; - /** 无人机信息 */ - private AircraftDTO aircraft; + /** 无人机ID */ + private Long aircraftId; + + /** 无人机IOT ID */ + private String aircraftIotId; + + /** 无人机名称 */ + private String aircraftName; + + /** 无人机厂商 */ + private String aircraftManufacturer; + + /** 无人机型号 */ + private String aircraftModel; + + /** 无人机状态 */ + private String aircraftStatus; + + /** 挂载列表 */ + private List payloadList; // ========== DockDetailVO 字段 ========== 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 6effaaa..213c99e 100644 --- a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java @@ -1,16 +1,16 @@ package com.ruoyi.device.service.impl; import com.alibaba.fastjson2.JSON; -import com.ruoyi.device.domain.api.IDeviceDomain; -import com.ruoyi.device.domain.api.IDockDomain; -import com.ruoyi.device.domain.api.IAircraftDomain; -import com.ruoyi.device.domain.api.IThingsBoardDomain; +import com.ruoyi.device.domain.api.*; +import com.ruoyi.device.domain.model.Aircraft; import com.ruoyi.device.domain.model.Device; import com.ruoyi.device.domain.model.Dock; +import com.ruoyi.device.domain.model.DockAircraft; import com.ruoyi.device.domain.model.thingsboard.AttributeMap; import com.ruoyi.device.domain.model.thingsboard.TelemetryMap; import com.ruoyi.device.domain.model.thingsboard.constants.DeviceAttributes; import com.ruoyi.device.service.api.IBufferDeviceService; +import com.ruoyi.device.service.dto.AircraftDTO; import com.ruoyi.device.service.dto.AircraftDetailDTO; import com.ruoyi.device.service.dto.DockDetailDTO; import com.ruoyi.device.api.enums.DockStatusEnum; @@ -18,6 +18,7 @@ import com.ruoyi.device.api.enums.DockStatusEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.List; import java.util.stream.Collectors; @@ -42,6 +43,9 @@ public class BufferDeviceImpl implements IBufferDeviceService @Autowired private IAircraftDomain aircraftDomain; + @Autowired + private IDockAircraftDomain dockAircraftDomain; + @Autowired private IThingsBoardDomain thingsBoardDomain; @@ -59,12 +63,28 @@ public class BufferDeviceImpl implements IBufferDeviceService Device device = deviceDomain.selectDeviceByDeviceId(dock.getDeviceId()); log.info("selectDeviceByDeviceId {}",JSON.toJSONString(device)); - DockDetailDTO dto = getChangeAbleDockDetailDTO(device.getIotDeviceId()); dto.setDockId(dock.getDockId()); dto.setDockName(dock.getDockName()); dto.setDockLocation(dock.getDockLocation()); dto.setDockIotId(device.getIotDeviceId()); + + List aircrafts = dockAircraftDomain.selectDockAircraftByDockId(dockId); + + if(!CollectionUtils.isEmpty(aircrafts)){ + DockAircraft dockAircraft = aircrafts.get(0); + Aircraft aircraft = aircraftDomain.selectAircraftByAircraftId(dockAircraft.getAircraftId()); + dto.setAircraftId(aircraft.getAircraftId()); + dto.setAircraftName(aircraft.getAircraftName()); + + Device airDevice = deviceDomain.selectDeviceByDeviceId(aircraft.getDeviceId()); + dto.setAircraftIotId(airDevice.getIotDeviceId()); + + + } + + + return dto;