package com.ruoyi.device.controller.convert; import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.device.api.domain.DockDetailVO; import com.ruoyi.device.service.dto.DockDetailDTO; import java.util.List; import java.util.stream.Collectors; /** * 设备缓冲服务转换类 * 用于 DTO 到 VO 的转换 * * @author ruoyi * @date 2026-01-20 */ public class DockDetailVOConvert extends BaseConvert { private static final DockDetailVOConvert INSTANCE = new DockDetailVOConvert(); private DockDetailVOConvert() { super(DockDetailDTO.class, DockDetailVO.class); } public static DockDetailVO from(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 DockDetailDTO to(DockDetailVO vo) { return INSTANCE.innerTo(vo); } public static List fromList(List dtoList) { if (dtoList == null) { return null; } return dtoList.stream().map(DockDetailVOConvert::from).collect(Collectors.toList()); } public static List toList(List voList) { return INSTANCE.innerToList(voList); } }