修改获取机场状态的代码

This commit is contained in:
孙小云 2026-01-21 16:12:50 +08:00
parent 624936dffc
commit 1fdf6dc22d
2 changed files with 48 additions and 7 deletions

View File

@ -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<PayloadVO> payloadList;
// ========== DockDetailVO 字段 ==========

View File

@ -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<DockAircraft> 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;