a-tuoheng-device/src/main/java/com/ruoyi/device/service/convert/BufferDeviceConvert.java

154 lines
5.0 KiB
Java

package com.ruoyi.device.service.convert;
import com.ruoyi.device.api.domain.AircraftDetailVO;
import com.ruoyi.device.api.domain.DockDetailVO;
import com.ruoyi.device.api.domain.NetworkVO;
import com.ruoyi.device.api.domain.PayloadDetailVO;
import com.ruoyi.device.api.domain.PayloadVO;
import com.ruoyi.device.service.dto.AircraftDetailDTO;
import com.ruoyi.device.service.dto.DockDetailDTO;
import com.ruoyi.device.service.dto.NetworkDTO;
import com.ruoyi.device.service.dto.PayloadDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 设备缓冲服务转换类
* 用于 DTO 到 VO 的转换
*
* @author ruoyi
* @date 2026-01-20
*/
public class BufferDeviceConvert
{
public static DockDetailVO toVO(DockDetailDTO dto)
{
if (dto == null)
{
return null;
}
DockDetailVO vo = new DockDetailVO();
vo.setDockId(dto.getDockId());
vo.setDockName(dto.getDockName());
vo.setManufacturerName(dto.getManufacturerName());
vo.setFirmwareVersion(dto.getFirmwareVersion());
vo.setSnNumber(dto.getSnNumber());
vo.setBindTime(dto.getBindTime());
vo.setMaintenanceDays(dto.getMaintenanceDays());
vo.setDockName(dto.getDockName());
vo.setDockStatus(dto.getDockStatus());
vo.setBackupLongitude(dto.getBackupLongitude());
vo.setBackupLatitude(dto.getBackupLatitude());
vo.setRunningDuration(dto.getRunningDuration());
vo.setMissionCount(dto.getMissionCount());
vo.setWindSpeed(dto.getWindSpeed());
vo.setRainfall(dto.getRainfall());
vo.setEnvironmentTemperature(dto.getEnvironmentTemperature());
vo.setEnvironmentHumidity(dto.getEnvironmentHumidity());
vo.setNetworkType(dto.getNetworkType());
vo.setNetworkDelay(dto.getNetworkDelay());
vo.setAirConditionerStatus(dto.getAirConditionerStatus());
vo.setCabinDoorStatus(dto.getCabinDoorStatus());
vo.setDockRunStatus(dto.getDockRunStatus());
vo.setInternalCamera(dto.getInternalCamera());
vo.setExternalCamera(dto.getExternalCamera());
vo.setChargingStatus(dto.getChargingStatus());
vo.setCabinTemperature(dto.getCabinTemperature());
vo.setCabinHumidity(dto.getCabinHumidity());
vo.setElevatorPosition(dto.getElevatorPosition());
vo.setXAxisClampStatus(dto.getXAxisClampStatus());
vo.setYAxisClampStatus(dto.getYAxisClampStatus());
return vo;
}
public static AircraftDetailVO toVO(AircraftDetailDTO dto)
{
if (dto == null)
{
return null;
}
AircraftDetailVO vo = new AircraftDetailVO();
vo.setAircraftId(dto.getAircraftId());
vo.setAircraftName(dto.getAircraftName());
vo.setManufacturerName(dto.getManufacturerName());
vo.setAircraftVersion(dto.getAircraftVersion());
vo.setSnNumber(dto.getSnNumber());
vo.setBatterySn(dto.getBatterySn());
vo.setBindTime(dto.getBindTime());
vo.setMaintenanceDays(dto.getMaintenanceDays());
vo.setFlightDuration(dto.getFlightDuration());
vo.setMissionCount(dto.getMissionCount());
vo.setNetworkList(convertNetworkList(dto.getNetworkList()));
vo.setRtkSignal(dto.getRtkSignal());
vo.setMaxAltitude(dto.getMaxAltitude());
vo.setMaxDistance(dto.getMaxDistance());
vo.setVoltage(dto.getVoltage());
vo.setBatteryLevel(dto.getBatteryLevel());
vo.setFlightTimeRemaining(dto.getFlightTimeRemaining());
vo.setBatteryTemperature(dto.getBatteryTemperature());
vo.setCycleCount(dto.getCycleCount());
vo.setPayloadList(convertPayloadList(dto.getPayloadList()));
return vo;
}
private static List<NetworkVO> convertNetworkList(List<NetworkDTO> networkDTOList)
{
if (networkDTOList == null)
{
return null;
}
return networkDTOList.stream()
.map(BufferDeviceConvert::toVO)
.collect(Collectors.toList());
}
private static NetworkVO toVO(NetworkDTO dto)
{
if (dto == null)
{
return null;
}
NetworkVO vo = new NetworkVO();
vo.setNetworkType(dto.getNetworkType());
vo.setNetworkDelay(dto.getNetworkDelay());
return vo;
}
private static List<PayloadDetailVO> convertPayloadList(List<PayloadDTO> payloadDTOList)
{
if (payloadDTOList == null)
{
return null;
}
return payloadDTOList.stream()
.map(BufferDeviceConvert::toPayloadDetailVO)
.collect(Collectors.toList());
}
private static PayloadDetailVO toPayloadDetailVO(PayloadDTO dto)
{
if (dto == null)
{
return null;
}
PayloadDetailVO vo = new PayloadDetailVO();
vo.setPayloadType(dto.getPayloadType());
vo.setPayloadModel(dto.getPayloadType());
vo.setFirmwareVersion(dto.getPayloadType());
return vo;
}
}