添加接口

This commit is contained in:
孙小云 2026-01-20 15:48:23 +08:00
parent 4c21f59b71
commit b3644698fe
3 changed files with 171 additions and 4 deletions

View File

@ -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);
} }
} }

View File

@ -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);
} }
} }

View File

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