当前位置: 首页 > news >正文

机场上云-无人机状态上报流程

Spring Integration末端处理点

/**
     * osd dock drone
     * @param request  data
     * @param headers   The headers for a {@link Message}.
     * @return status_reply
     */
    @ServiceActivator(inputChannel = ChannelName.INBOUND_OSD_DOCK_DRONE)
    public void osdDockDrone(TopicOsdRequest<OsdDockDrone> request, MessageHeaders headers)     {
        throw new UnsupportedOperationException("osdDockDrone not implemented");
    }

实际实现类

@Override
    public void osdDockDrone(TopicOsdRequest<OsdDockDrone> request, MessageHeaders headers) {
        String from = request.getFrom();
        Optional<DeviceDTO> deviceOpt = deviceRedisService.getDeviceOnline(from);
        if (deviceOpt.isEmpty()) {
            deviceOpt = deviceService.getDeviceBySn(from);
            if (deviceOpt.isEmpty()) {
                log.error("Please restart the drone.");
                return;
            }
        }

        if (!StringUtils.hasText(deviceOpt.get().getWorkspaceId())) {
            log.error("Please restart the drone.");
        }

        DeviceDTO device = deviceOpt.get();
        deviceRedisService.setDeviceOnline(device);
        deviceRedisService.setDeviceOsd(from, request.getData());

        deviceService.pushOsdDataToWeb(device.getWorkspaceId(), BizCodeEnum.DEVICE_OSD, from, request.getData());
    }

1. redis中查询是否有缓存,如果没有,根据SN码查询mysql的设备表

2. 将第一步的结果存储到redis中

3.将mqtt传递的data数据缓存到redis中

4.利用websocket将数据发送给前端,结构就是原始的报文结构,参考上云api的osd数据结构

相关文章:

  • 【标准协议】RTCA标准协议解读
  • linux安装nginx详细教程
  • Java 锁机制全面解析
  • 【Linux】Ubuntu 24.04 LTS 安装 OpenJDK 8
  • 单表达式倒计时工具:datetime的极度优雅(智普清言)
  • 扩散模型算法实战——可控图像编辑
  • uniapp小程序,输入框限制输入(正整数、小数后几位)
  • `sscanf` 和 `scanf` 的区别
  • 磁盘清理工具-TreeSize Free介绍
  • 使用 QR-Code-Styling 在 Vue 3 中生成二维码
  • 【004安卓开发方案调研】之Ionic+Vue+Capacitor开发安卓
  • Z型隶属函数(Z-shaped Membership Function)的详细介绍及python示例
  • logisim安装以及可能出现的问题
  • _KiComputeTimerTableIndex函数分析
  • Excel筛选填充的正确方法
  • 在 Ubuntu 20.04 上重新启动网络
  • 掌握新编程语言的秘诀:利用 AI 快速上手 Python、Go、Java 和 Rust
  • 蓝桥杯真题 3513.岛屿个数
  • doris:时区管理
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.3.22)
  • 经济日报社论:书写新征程上奋斗华章
  • 奔驰一季度利润降四成,受美国加征关税影响放弃全年盈利展望
  • 中国海警位中国黄岩岛领海及周边区域执法巡查
  • 中央网信办部署开展“清朗·整治AI技术滥用”专项行动
  • 比黄油年糕热量还高,这个火爆全网的甜品劝你慎吃
  • 街区党支部书记们亮出治理实招,解锁“善治街区二十法”