Compare commits
2 Commits
4c21f59b71
...
4832c03a3d
| Author | SHA1 | Date |
|---|---|---|
|
|
4832c03a3d | |
|
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ruoyi.device.service.convert;
|
package com.ruoyi.device.service.convert;
|
||||||
|
|
||||||
|
import com.ruoyi.device.api.domain.DockVO;
|
||||||
import com.ruoyi.device.domain.model.Dock;
|
import com.ruoyi.device.domain.model.Dock;
|
||||||
import com.ruoyi.device.service.dto.DockDTO;
|
import com.ruoyi.device.service.dto.DockDTO;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -9,7 +10,7 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 机场Service层转换器
|
* 机场Service层转换器
|
||||||
* Service DTO ↔ Domain Model
|
* Service DTO ↔ Domain Model ↔ API VO
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2026-01-16
|
* @date 2026-01-16
|
||||||
|
|
@ -44,6 +45,34 @@ public class DockServiceConvert
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model 转 VO
|
||||||
|
*/
|
||||||
|
public static DockVO toVO(Dock model)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
DockVO vo = new DockVO();
|
||||||
|
BeanUtils.copyProperties(model, vo);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DTO 转 VO
|
||||||
|
*/
|
||||||
|
public static DockVO toVO(DockDTO dto)
|
||||||
|
{
|
||||||
|
if (dto == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
DockVO vo = new DockVO();
|
||||||
|
BeanUtils.copyProperties(dto, vo);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Model List 转 DTO List
|
* Model List 转 DTO List
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,21 @@ package com.ruoyi.device.service.impl;
|
||||||
import com.ruoyi.device.api.domain.DockVO;
|
import com.ruoyi.device.api.domain.DockVO;
|
||||||
import com.ruoyi.device.domain.api.IGroupDomain;
|
import com.ruoyi.device.domain.api.IGroupDomain;
|
||||||
import com.ruoyi.device.domain.api.IDockGroupDomain;
|
import com.ruoyi.device.domain.api.IDockGroupDomain;
|
||||||
|
import com.ruoyi.device.domain.api.IDockDomain;
|
||||||
import com.ruoyi.device.domain.model.DockGroup;
|
import com.ruoyi.device.domain.model.DockGroup;
|
||||||
import com.ruoyi.device.domain.model.Group;
|
import com.ruoyi.device.domain.model.Group;
|
||||||
|
import com.ruoyi.device.domain.model.Dock;
|
||||||
import com.ruoyi.device.service.api.IGroupService;
|
import com.ruoyi.device.service.api.IGroupService;
|
||||||
import com.ruoyi.device.service.convert.GroupServiceConvert;
|
import com.ruoyi.device.service.convert.GroupServiceConvert;
|
||||||
import com.ruoyi.device.service.dto.GroupDTO;
|
import com.ruoyi.device.service.dto.GroupDTO;
|
||||||
|
import com.ruoyi.device.service.dto.DockDTO;
|
||||||
|
import com.ruoyi.device.service.convert.DockServiceConvert;
|
||||||
|
import com.ruoyi.device.api.domain.DockDetailVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -29,6 +35,9 @@ public class GroupServiceImpl implements IGroupService
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDockGroupDomain dockGroupDomain;
|
private IDockGroupDomain dockGroupDomain;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDockDomain dockDomain;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<GroupDTO> selectGroupList(GroupDTO groupDTO)
|
public List<GroupDTO> selectGroupList(GroupDTO groupDTO)
|
||||||
{
|
{
|
||||||
|
|
@ -106,7 +115,20 @@ public class GroupServiceImpl implements IGroupService
|
||||||
@Override
|
@Override
|
||||||
public List<DockVO> getDocksByGroupId(Long groupId)
|
public List<DockVO> getDocksByGroupId(Long groupId)
|
||||||
{
|
{
|
||||||
return null;
|
DockGroup dockGroupQuery = new DockGroup();
|
||||||
|
dockGroupQuery.setGroupId(groupId);
|
||||||
|
List<DockGroup> dockGroupList = dockGroupDomain.selectDockGroupList(dockGroupQuery);
|
||||||
|
|
||||||
|
if (dockGroupList == null || dockGroupList.isEmpty())
|
||||||
|
{
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
|
||||||
|
return dockGroupList.stream()
|
||||||
|
.map(DockGroup::getDockId)
|
||||||
|
.map(dockDomain::selectDockByDockId)
|
||||||
|
.map(DockServiceConvert::toVO)
|
||||||
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue