添加接口
This commit is contained in:
parent
4c21f59b71
commit
b3644698fe
|
|
@ -5,6 +5,9 @@ import com.ruoyi.common.core.web.controller.BaseController;
|
||||||
import com.ruoyi.common.security.annotation.InnerAuth;
|
import com.ruoyi.common.security.annotation.InnerAuth;
|
||||||
import com.ruoyi.device.api.domain.AircraftDetailVO;
|
import com.ruoyi.device.api.domain.AircraftDetailVO;
|
||||||
import com.ruoyi.device.service.api.IAircraftService;
|
import com.ruoyi.device.service.api.IAircraftService;
|
||||||
|
import com.ruoyi.device.service.api.IBufferDeviceService;
|
||||||
|
import com.ruoyi.device.service.convert.BufferDeviceConvert;
|
||||||
|
import com.ruoyi.device.service.dto.AircraftDetailDTO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -21,6 +24,9 @@ public class AircraftController extends BaseController
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAircraftService aircraftService;
|
private IAircraftService aircraftService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBufferDeviceService bufferDeviceService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查看无人机详情
|
* 查看无人机详情
|
||||||
*
|
*
|
||||||
|
|
@ -31,7 +37,8 @@ public class AircraftController extends BaseController
|
||||||
@GetMapping("/detail/{aircraftId}")
|
@GetMapping("/detail/{aircraftId}")
|
||||||
public R<AircraftDetailVO> getAircraftDetail(@PathVariable("aircraftId") Long aircraftId)
|
public R<AircraftDetailVO> getAircraftDetail(@PathVariable("aircraftId") Long aircraftId)
|
||||||
{
|
{
|
||||||
AircraftDetailVO aircraftDetail = aircraftService.getAircraftDetail(aircraftId);
|
AircraftDetailDTO dto = bufferDeviceService.getAircraftDetailById(aircraftId);
|
||||||
return R.ok(aircraftDetail);
|
AircraftDetailVO vo = BufferDeviceConvert.toVO(dto);
|
||||||
|
return R.ok(vo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@ import com.ruoyi.common.security.annotation.InnerAuth;
|
||||||
import com.ruoyi.device.api.domain.DockDetailVO;
|
import com.ruoyi.device.api.domain.DockDetailVO;
|
||||||
import com.ruoyi.device.api.domain.DockVO;
|
import com.ruoyi.device.api.domain.DockVO;
|
||||||
import com.ruoyi.device.service.api.IDockService;
|
import com.ruoyi.device.service.api.IDockService;
|
||||||
|
import com.ruoyi.device.service.api.IBufferDeviceService;
|
||||||
|
import com.ruoyi.device.service.convert.BufferDeviceConvert;
|
||||||
|
import com.ruoyi.device.service.dto.DockDetailDTO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -24,6 +27,9 @@ public class DockController extends BaseController
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDockService dockService;
|
private IDockService dockService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBufferDeviceService bufferDeviceService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 搜索机场
|
* 搜索机场
|
||||||
*
|
*
|
||||||
|
|
@ -49,7 +55,8 @@ public class DockController extends BaseController
|
||||||
@GetMapping("/detail/{dockId}")
|
@GetMapping("/detail/{dockId}")
|
||||||
public R<DockDetailVO> getDockDetail(@PathVariable("dockId") Long dockId)
|
public R<DockDetailVO> getDockDetail(@PathVariable("dockId") Long dockId)
|
||||||
{
|
{
|
||||||
DockDetailVO dockDetail = dockService.getDockDetail(dockId);
|
DockDetailDTO dto = bufferDeviceService.getDockDetailById(dockId);
|
||||||
return R.ok(dockDetail);
|
DockDetailVO vo = BufferDeviceConvert.toVO(dto);
|
||||||
|
return R.ok(vo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue