zhaowenyu
2026-03-09 a95db5fc78b3f86df131cc7271f06a053a9b2611
ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceOSDServiceImpl.java
@@ -17,6 +17,7 @@
import com.ard.sample.manage.model.receiver.OsdPayloadReceiver;
import com.ard.sample.manage.model.receiver.OsdSubDeviceReceiver;
import com.ard.sample.manage.service.IDeviceService;
import com.ard.sample.manage.service.IWaylineTrajectoryService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -41,6 +42,9 @@
    @Autowired
    private IDeviceService _deviceService;
    @Autowired
    private IWaylineTrajectoryService _waylineTrajectoryService;
    @Autowired
    private DockWebSocketHandler _dockWebSocketHandler;
@@ -95,7 +99,7 @@
                        Long code = jsonNode.get("data").get("mode_code").asLong();
                        if ("0,1,2,3,4,5,8,9,10,11,13,14".contains(code.toString())) {
                            _deviceService.updateWorkType(device.getDeviceSn(), code);
                            RedisOpsUtils.setWithExpire(RedisConst.OSD_STATUS_PREFIX + device.getDeviceSn(), code, RedisConst.DEVICE_ALIVE_SECOND);
                            RedisOpsUtils.set(RedisConst.OSD_STATUS_PREFIX + device.getDeviceSn(), code);
                        }
                    }
                }
@@ -116,7 +120,10 @@
            wsMessage.getData().setHost(data);
            // 发送给websocket客户端
            _dockWebSocketHandler.sendMessageToSubscribers(device.getDeviceSn(), MessageType.STATUS.getType(), dockOsd);
            _dockWebSocketHandler.sendMessageToSubscribers(device.getDeviceSn(), MessageType.STATUS.getType(), dockOsd, "");
            // 将飞行器的OSD数据dockOsd入库;device.getDeviceSn()为飞行器sn,这里要机场的sn,试试receiver.getGateway();
            _waylineTrajectoryService.setList(receiver.getGateway(),"0", dockOsd);
            sendMessageService.sendBatch(webSessions, wsMessage);
            this.pushTelemetryData(data, device.getDeviceSn());