Compare commits

..

2 Commits

Author SHA1 Message Date
孙小云 9943cfe1f2 添加电池的信息获取 2026-01-21 19:00:43 +08:00
孙小云 b3c3515322 添加无人机信息获取的逻辑 2026-01-21 18:55:21 +08:00
3 changed files with 15 additions and 5 deletions

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.device.domain.model.thingsboard.AttributeKey; import com.ruoyi.device.domain.model.thingsboard.AttributeKey;
import com.ruoyi.device.domain.model.thingsboard.TelemetryKey; import com.ruoyi.device.domain.model.thingsboard.TelemetryKey;
import com.ruoyi.device.domain.model.thingsboard.attributes.battery.BatteryInfo;
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.attributes.battery.BatteryData; import com.ruoyi.device.domain.model.thingsboard.attributes.battery.BatteryData;
@ -305,9 +306,7 @@ public class DeviceTelemetry {
); );
/**
* 无人机特有
*/
/** /**
* 无人机挂载信息 * 无人机挂载信息

View File

@ -43,8 +43,6 @@ public class AircraftDetailDTO implements Serializable
// ========== AircraftDetailVO 特有字段 ========== // ========== AircraftDetailVO 特有字段 ==========
/** 无人机版本 */ /** 无人机版本 */
private String aircraftVersion; private String aircraftVersion;

View File

@ -151,6 +151,9 @@ public class BufferDeviceImpl implements IBufferDeviceService
AircraftDetailDTO dto = getChangeAbleAirDetailDTO(device.getIotDeviceId()); AircraftDetailDTO dto = getChangeAbleAirDetailDTO(device.getIotDeviceId());
dto.setAircraftId(aircraft.getAircraftId()); dto.setAircraftId(aircraft.getAircraftId());
dto.setAircraftName(aircraft.getAircraftName()); dto.setAircraftName(aircraft.getAircraftName());
dto.setSnNumber(device.getDeviceSn());
dto.setBindTime(device.getCreateTime().getTime());
List<AircraftPayload> aircraftPayloads = List<AircraftPayload> aircraftPayloads =
aircraftPayloadDomain.selectAircraftPayloadByAircraftId(aircraft.getAircraftId()); aircraftPayloadDomain.selectAircraftPayloadByAircraftId(aircraft.getAircraftId());
@ -170,6 +173,16 @@ public class BufferDeviceImpl implements IBufferDeviceService
dto.setPayloadList(payloads); dto.setPayloadList(payloads);
} }
// 获取电池SN号 - batteries 数组里面的第一个的 SN号
TelemetryMap telemetryMap = thingsBoardDomain.getPredefinedDeviceTelemetry(device.getIotDeviceId());
telemetryMap.get(DeviceTelemetry.BATTERY)
.ifPresent(telemetryValue -> {
var batteryData = telemetryValue.getValue();
if (batteryData != null && !CollectionUtils.isEmpty(batteryData.getBatteries())) {
String batterySn = batteryData.getBatteries().get(0).getSn();
dto.setBatterySn(batterySn);
}
});
return dto; return dto;
} }