From 48641d76eb3836f9ff0c666321755df2b7cabeb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Wed, 21 Jan 2026 17:05:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A0=E4=BA=BA=E6=9C=BA?= =?UTF-8?q?=E6=8C=82=E8=BD=BD=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/BufferDeviceImpl.java | 31 ++++++++++++++++--- .../ruoyi/device/service/impl/SynService.java | 4 +-- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java index e48d8a7..76b1610 100644 --- a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java @@ -1,11 +1,10 @@ package com.ruoyi.device.service.impl; 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.model.Aircraft; -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.*; import com.ruoyi.device.domain.model.thingsboard.AttributeMap; import com.ruoyi.device.domain.model.thingsboard.TelemetryMap; 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.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -45,12 +45,18 @@ public class BufferDeviceImpl implements IBufferDeviceService @Autowired private IAircraftDomain aircraftDomain; + @Autowired + private IAircraftPayloadDomain aircraftPayloadDomain; + @Autowired private IDockAircraftDomain dockAircraftDomain; @Autowired private IThingsBoardDomain thingsBoardDomain; + @Autowired + private IPayloadDomain payloadDomain; + @Override public DockDetailDTO getDockDetailById(Long dockId) { @@ -83,6 +89,23 @@ public class BufferDeviceImpl implements IBufferDeviceService Device airDevice = deviceDomain.selectDeviceByDeviceId(aircraft.getDeviceId()); dto.setAircraftIotId(airDevice.getIotDeviceId()); + List aircraftPayloads = + aircraftPayloadDomain.selectAircraftPayloadByAircraftId(aircraft.getAircraftId()); + + if(!CollectionUtils.isEmpty(aircraftPayloads)){ + List 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()); /** * 设置无人机状态 diff --git a/src/main/java/com/ruoyi/device/service/impl/SynService.java b/src/main/java/com/ruoyi/device/service/impl/SynService.java index e7f952e..af90592 100644 --- a/src/main/java/com/ruoyi/device/service/impl/SynService.java +++ b/src/main/java/com/ruoyi/device/service/impl/SynService.java @@ -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.constants.DeviceAttributes; 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 org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -428,7 +428,7 @@ public class SynService { // 挂载不存在,插入新挂载 payload.setPayloadName(psdkDevice.getPsdk_name()); payload.setPayloadDisplayName("喊话器"); - payload.setPayloadType(PayloadType.SPEAKER.getCode()); + payload.setPayloadType(PayloadTypeEnum.SPEAKER.getCode()); payload.setCreateBy("system"); payloadDomain.insertPayload(payload); log.info("插入新挂载设备: payloadSn={}, payloadName={}, payloadId={}",