修改无人机挂载状态

This commit is contained in:
孙小云 2026-01-21 17:05:10 +08:00
parent 35c0cf0c63
commit 48641d76eb
2 changed files with 29 additions and 6 deletions

View File

@ -1,11 +1,10 @@
package com.ruoyi.device.service.impl; package com.ruoyi.device.service.impl;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.ruoyi.device.api.domain.PayloadVO;
import com.ruoyi.device.api.enums.PayloadStatusEnum;
import com.ruoyi.device.domain.api.*; import com.ruoyi.device.domain.api.*;
import com.ruoyi.device.domain.model.Aircraft; import com.ruoyi.device.domain.model.*;
import com.ruoyi.device.domain.model.Device;
import com.ruoyi.device.domain.model.Dock;
import com.ruoyi.device.domain.model.DockAircraft;
import com.ruoyi.device.domain.model.thingsboard.AttributeMap; import com.ruoyi.device.domain.model.thingsboard.AttributeMap;
import com.ruoyi.device.domain.model.thingsboard.TelemetryMap; import com.ruoyi.device.domain.model.thingsboard.TelemetryMap;
import com.ruoyi.device.domain.model.thingsboard.constants.DeviceAttributes; import com.ruoyi.device.domain.model.thingsboard.constants.DeviceAttributes;
@ -22,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -45,12 +45,18 @@ public class BufferDeviceImpl implements IBufferDeviceService
@Autowired @Autowired
private IAircraftDomain aircraftDomain; private IAircraftDomain aircraftDomain;
@Autowired
private IAircraftPayloadDomain aircraftPayloadDomain;
@Autowired @Autowired
private IDockAircraftDomain dockAircraftDomain; private IDockAircraftDomain dockAircraftDomain;
@Autowired @Autowired
private IThingsBoardDomain thingsBoardDomain; private IThingsBoardDomain thingsBoardDomain;
@Autowired
private IPayloadDomain payloadDomain;
@Override @Override
public DockDetailDTO getDockDetailById(Long dockId) public DockDetailDTO getDockDetailById(Long dockId)
{ {
@ -83,6 +89,23 @@ public class BufferDeviceImpl implements IBufferDeviceService
Device airDevice = deviceDomain.selectDeviceByDeviceId(aircraft.getDeviceId()); Device airDevice = deviceDomain.selectDeviceByDeviceId(aircraft.getDeviceId());
dto.setAircraftIotId(airDevice.getIotDeviceId()); dto.setAircraftIotId(airDevice.getIotDeviceId());
List<AircraftPayload> aircraftPayloads =
aircraftPayloadDomain.selectAircraftPayloadByAircraftId(aircraft.getAircraftId());
if(!CollectionUtils.isEmpty(aircraftPayloads)){
List<PayloadVO> payloads = new ArrayList<>(aircraftPayloads.size());
for(AircraftPayload aircraftPayload : aircraftPayloads){
Payload payload = payloadDomain.selectPayloadByPayloadId(aircraftPayload.getPayloadId());
PayloadVO payloadVO = new PayloadVO();
payloadVO.setPayloadId(aircraftPayload.getPayloadId());
payloadVO.setPayloadName(payload.getPayloadName());
payloadVO.setPayloadType(payload.getPayloadType());
payloadVO.setPayloadStatus(PayloadStatusEnum.ONLINE.getCode());
}
dto.setPayloadList(payloads);
}
AircraftDetailDTO aircraftDetailDTO = getChangeAbleAirDetailDTO(airDevice.getIotDeviceId()); AircraftDetailDTO aircraftDetailDTO = getChangeAbleAirDetailDTO(airDevice.getIotDeviceId());
/** /**
* 设置无人机状态 * 设置无人机状态

View File

@ -9,7 +9,7 @@ import com.ruoyi.device.domain.model.thingsboard.TelemetryValue;
import com.ruoyi.device.domain.model.thingsboard.attributes.psdk.PsdkDevice; import com.ruoyi.device.domain.model.thingsboard.attributes.psdk.PsdkDevice;
import com.ruoyi.device.domain.model.thingsboard.constants.DeviceAttributes; import com.ruoyi.device.domain.model.thingsboard.constants.DeviceAttributes;
import com.ruoyi.device.domain.model.thingsboard.constants.DeviceTelemetry; import com.ruoyi.device.domain.model.thingsboard.constants.DeviceTelemetry;
import com.ruoyi.device.api.enums.PayloadType; import com.ruoyi.device.api.enums.PayloadTypeEnum;
import com.ruoyi.device.service.enums.DeviceType; import com.ruoyi.device.service.enums.DeviceType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -428,7 +428,7 @@ public class SynService {
// 挂载不存在插入新挂载 // 挂载不存在插入新挂载
payload.setPayloadName(psdkDevice.getPsdk_name()); payload.setPayloadName(psdkDevice.getPsdk_name());
payload.setPayloadDisplayName("喊话器"); payload.setPayloadDisplayName("喊话器");
payload.setPayloadType(PayloadType.SPEAKER.getCode()); payload.setPayloadType(PayloadTypeEnum.SPEAKER.getCode());
payload.setCreateBy("system"); payload.setCreateBy("system");
payloadDomain.insertPayload(payload); payloadDomain.insertPayload(payload);
log.info("插入新挂载设备: payloadSn={}, payloadName={}, payloadId={}", log.info("插入新挂载设备: payloadSn={}, payloadName={}, payloadId={}",