From d68181ce2faef4821d6d8a8ffb8027480a6262c3 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Wed, 05 Nov 2025 17:01:20 +0800
Subject: [PATCH] 2025-11-5 zwy websockeet增加Type:livestream,开启机场和飞行器的直播接口, 增加LiveStreamHandler对开启直播和关闭直播的处理; redis增加WEBSOCKET_VideoId_PREFIX,存储videoid,关闭直播功能时使用;

---
 ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java |   36 ++++++++++++++++--------------------
 1 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
index 816c596..9adde4c 100644
--- a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
@@ -351,6 +351,7 @@
         // subDevice.setPayloadsList(payloadService.getDevicePayloadEntitiesByDeviceSn(gateway.getChildDeviceSn()));
     }
 
+    //region 单独写一个方法做权限验证,由于有好多定时任务也在实时获取设备列表,原方法不适用再添加权限注解
     @Override
     public List<DeviceDTO> getDockList() {
         List<DeviceDTO> devicesList = this.getDockListByParams(
@@ -368,27 +369,21 @@
 
     @Override
     public void spliceDeviceTopoPer(DeviceDTO gateway) {
-
         gateway.setStatus(RedisOpsUtils.checkExist(RedisConst.DEVICE_ONLINE_PREFIX + gateway.getDeviceSn()));
-
         // sub device
         if (!StringUtils.hasText(gateway.getChildDeviceSn())) {
             return;
         }
-
         DeviceDTO subDevice =
                 getDevicesByParams(DeviceQueryParam.builder().deviceSn(gateway.getChildDeviceSn()).build()).get(0);
         subDevice.setStatus(RedisOpsUtils.checkExist(RedisConst.DEVICE_ONLINE_PREFIX + subDevice.getDeviceSn()));
         gateway.setChildren(subDevice);
-
-        // payloads
-        // subDevice.setPayloadsList(payloadService.getDevicePayloadEntitiesByDeviceSn(gateway.getChildDeviceSn()));
     }
 
-    //@DataScope(deptAlias = "d")
+
     @Override
     public List<DeviceDTO> getDockListByParams(DeviceQueryParam param){
-
+        // 在mapper中添加查询方法做权限验证
         return mapper.selectListPer(
                         new LambdaQueryWrapper<DeviceEntity>()
                                 .eq(StringUtils.hasText(param.getDeviceSn()),
@@ -412,6 +407,7 @@
                 .map(this::deviceEntityConvertToDTO)
                 .collect(Collectors.toList());
     }
+    //endregion
 
     @Override
     public Optional<TopologyDeviceDTO> getDeviceTopoForPilot(String sn) {
@@ -1105,18 +1101,18 @@
                         .build(),
                 2);
 
-        while (true) {
-            reply = (Map<String, Object>) reply.get(value.getKey());
-            if (value.getValue() instanceof JsonNode) {
-                break;
-            }
-            value = (Map.Entry) value.getValue();
-        }
-
-        SetReply setReply = objectMapper.convertValue(reply, SetReply.class);
-        if (SetReplyStatusResultEnum.SUCCESS.getVal() != setReply.getResult()) {
-            throw new RuntimeException("Failed to set " + value.getKey() + "; Error Code: " + setReply.getResult());
-        }
+// 接收返回信息在serviceReply中,订阅thing/product/7CTDLCE00A1UPE/property/set_reply上报的信息,此处不处理
+//        while (true) {
+//            reply = (Map<String, Object>) reply.get(value.getKey());
+//            if (value.getValue() instanceof JsonNode) {
+//                break;
+//            }
+//            value = (Map.Entry) value.getValue();
+//        }
+//        SetReply setReply = objectMapper.convertValue(reply, SetReply.class);
+//        if (SetReplyStatusResultEnum.SUCCESS.getVal() != setReply.getResult()) {
+//            throw new RuntimeException("Failed to set " + value.getKey() + "; Error Code: " + setReply.getResult());
+//        }
 
     }
 

--
Gitblit v1.9.3