a-tuoheng-device/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java

106 lines
3.0 KiB
Java
Raw Normal View History

2026-01-20 14:54:53 +08:00
package com.ruoyi.device.service.impl;
2026-01-21 13:43:27 +08:00
import com.alibaba.fastjson2.JSON;
2026-01-20 17:05:25 +08:00
import com.ruoyi.device.domain.api.IDeviceDomain;
2026-01-20 15:37:54 +08:00
import com.ruoyi.device.domain.api.IDockDomain;
import com.ruoyi.device.domain.api.IAircraftDomain;
import com.ruoyi.device.domain.api.IThingsBoardDomain;
2026-01-20 17:05:25 +08:00
import com.ruoyi.device.domain.model.Device;
2026-01-20 15:37:54 +08:00
import com.ruoyi.device.domain.model.Dock;
import com.ruoyi.device.domain.model.Aircraft;
import com.ruoyi.device.domain.model.thingsboard.AttributeMap;
import com.ruoyi.device.domain.model.thingsboard.TelemetryMap;
import com.ruoyi.device.domain.model.thingsboard.TelemetryValue;
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.attributes.battery.BatteryData;
import com.ruoyi.device.domain.model.thingsboard.attributes.psdk.PsdkDevice;
2026-01-20 14:54:53 +08:00
import com.ruoyi.device.service.api.IBufferDeviceService;
2026-01-20 15:37:54 +08:00
import com.ruoyi.device.service.dto.AircraftDTO;
import com.ruoyi.device.service.dto.AircraftDetailDTO;
import com.ruoyi.device.service.dto.DockDetailDTO;
import com.ruoyi.device.service.dto.PayloadDTO;
2026-01-21 15:16:32 +08:00
import com.ruoyi.device.service.dto.ThingsBoardData;
2026-01-21 13:18:33 +08:00
import com.ruoyi.device.service.convert.AircraftDTOConvert;
2026-01-21 15:16:32 +08:00
import com.ruoyi.device.service.enums.DockStatusEnum;
2026-01-21 13:43:27 +08:00
import lombok.extern.slf4j.Slf4j;
2026-01-20 15:37:54 +08:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
2026-01-20 14:54:53 +08:00
/**
2026-01-20 15:37:54 +08:00
* 设备缓冲服务实现
* 整合数据库数据和ThingsBoard数据
2026-01-20 14:54:53 +08:00
*
2026-01-20 15:37:54 +08:00
* @author ruoyi
* @date 2026-01-20
2026-01-20 14:54:53 +08:00
*/
2026-01-20 15:37:54 +08:00
@Service
2026-01-21 13:43:27 +08:00
@Slf4j
2026-01-20 15:37:54 +08:00
public class BufferDeviceImpl implements IBufferDeviceService
{
@Autowired
private IDockDomain dockDomain;
2026-01-20 17:05:25 +08:00
@Autowired
private IDeviceDomain deviceDomain;
2026-01-20 15:37:54 +08:00
@Autowired
private IAircraftDomain aircraftDomain;
@Autowired
private IThingsBoardDomain thingsBoardDomain;
@Override
public DockDetailDTO getDockDetailById(Long dockId)
{
2026-01-21 14:16:24 +08:00
2026-01-20 15:37:54 +08:00
Dock dock = dockDomain.selectDockByDockId(dockId);
2026-01-21 14:16:24 +08:00
log.info("selectDockByDockId {}",JSON.toJSONString(dock));
2026-01-20 15:37:54 +08:00
if (dock == null)
{
return null;
}
2026-01-21 14:16:24 +08:00
2026-01-20 17:05:25 +08:00
Device device = deviceDomain.selectDeviceByDeviceId(dock.getDeviceId());
2026-01-21 14:16:24 +08:00
log.info("selectDeviceByDeviceId {}",JSON.toJSONString(device));
2026-01-20 15:37:54 +08:00
2026-01-21 15:16:32 +08:00
DockDetailDTO dto = getChangeAbleDockDetailDTO(device.getIotDeviceId());
2026-01-20 17:05:25 +08:00
2026-01-21 15:16:32 +08:00
dto.setDockId(dock.getDockId());
dto.setDockName(dock.getDockName());
dto.setDockLocation(dock.getDockLocation());
2026-01-20 17:05:25 +08:00
2026-01-21 15:16:32 +08:00
dto.setDockIotId(device.getIotDeviceId());
2026-01-21 14:16:24 +08:00
2026-01-21 15:16:32 +08:00
return null;
2026-01-20 15:37:54 +08:00
}
@Override
public AircraftDetailDTO getAircraftDetailById(Long aircraftId)
{
2026-01-21 15:16:32 +08:00
return null;
2026-01-20 15:37:54 +08:00
}
2026-01-21 15:16:32 +08:00
private DockDetailDTO getChangeAbleDockDetailDTO(String deviceIotId)
2026-01-20 15:37:54 +08:00
{
return null;
}
2026-01-21 15:16:32 +08:00
private AircraftDetailDTO getChangeAbleAirDetailDTO(String deviceIotId)
2026-01-20 15:37:54 +08:00
{
2026-01-21 15:16:32 +08:00
return null;
2026-01-20 15:37:54 +08:00
}
2026-01-21 15:16:32 +08:00
2026-01-20 14:54:53 +08:00
}