Bläddra i källkod

add 媒体设备刷新通道

18339543638 3 år sedan
förälder
incheckning
7f4a646dfe

+ 0 - 5
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/LocalDeviceFirmwareTaskService.java

@@ -1,8 +1,6 @@
 package org.jetlinks.community.device.service;
 
 import cn.hutool.core.collection.CollectionUtil;
-import javafx.concurrent.Task;
-import lombok.AllArgsConstructor;
 import org.hswebframework.web.crud.service.GenericReactiveCrudService;
 import org.jetlinks.community.device.entity.DeviceFirmwareEntity;
 import org.jetlinks.community.device.entity.DeviceFirmwareTaskEntity;
@@ -14,10 +12,7 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import reactor.core.publisher.Mono;
-
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 

+ 20 - 21
jetlinks-manager/media-manager/src/main/java/org/jetlinks/community/media/controller/MediaDeviceController.java

@@ -170,27 +170,26 @@ public class MediaDeviceController implements ReactiveServiceCrudController<Medi
             log.debug("设备通道信息同步API调用,deviceId:" + id);
         }
         String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + id;
-        MediaDevice device = redisCacheStorage.getDevice(id);
-        if(device==null){
-            return Mono.error(new BusinessException("设备已离线,无法更新通道最新信息"));
-        }
-
-        return  messageBroker.handleReply(id,key,Duration.ofSeconds(10))
-            .onErrorResume(DeviceOperationException.class,error-> {
-                //设备下线
-                mediaDeviceService.deviceOffline(device);
-                return Mono.error(new BusinessException("设备响应超时"));
-            })
-            .mergeWith(cmder.catalogQuery(device, event -> {
-                MediaMessageReply<String> reply = MediaMessageReply.of(String.format("同步通道失败,错误码: %s, %s", event.statusCode, event.msg), null);
-                reply.setSuccess(false);
-                reply.setMessageId(key);
-                reply.setDeviceId(id);
-                messageBroker.reply(reply).subscribe();
-            })
-                .then(Mono.empty()))
-            .flatMap(this::convertReply)
-            .singleOrEmpty();
+        return mediaDeviceService.findById(id)
+            .switchIfEmpty(Mono.error(new BusinessException("设备已离线,无法更新通道最新信息")))
+            .flatMap(device->
+                messageBroker.handleReply(id,key,Duration.ofSeconds(10))
+                    .onErrorResume(DeviceOperationException.class,error-> {
+                        //设备下线
+                        mediaDeviceService.deviceOffline(device);
+                        return Mono.error(new BusinessException("设备响应超时"));
+                    })
+                    .mergeWith(cmder.catalogQuery(device, event -> {
+                        MediaMessageReply<String> reply = MediaMessageReply.of(String.format("同步通道失败,错误码: %s, %s", event.statusCode, event.msg), null);
+                        reply.setSuccess(false);
+                        reply.setMessageId(key);
+                        reply.setDeviceId(id);
+                        messageBroker.reply(reply).subscribe();
+                    })
+                        .then(Mono.empty()))
+                    .flatMap(this::convertReply)
+                    .singleOrEmpty()
+            );
     }
 
     private Flux<Object> convertReply(DeviceMessageReply reply){

+ 0 - 6
jetlinks-manager/media-manager/src/main/java/org/jetlinks/community/media/controller/MediaServerController.java

@@ -72,10 +72,4 @@ public class MediaServerController {
                 cacheStorage.setMediaServerItem(mediaServerItem);
             });
     }
-    public static void main(String[] args) {
-        String str="{\"name\":\"meit\",\"id\":\"gb28181_MediaServer\",\"provider\":\"zlmedia\",\"httpPort\":80,\"ip\":\"192.168.100.32\",\"hookIp\":\"192.168.104.244\",\"hookPort\":8848,\"hookSslEnabled\":false,\"rtpProxyPort\":10000,\"rtpEnable\":false,\"secret\":\"15645645456\"}";
-        MediaServerItem mediaServerItem = JSONUtil.toBean(str, MediaServerItem.class);
-
-        System.out.println(mediaServerItem);
-    }
 }

+ 1 - 1
jetlinks-standalone/src/main/resources/application.yml

@@ -168,7 +168,7 @@ micrometer:
 management:
   health:
     elasticsearch:
-      enabled: false  # 关闭elasticsearch健康检查
+      enabled: true  # 关闭elasticsearch健康检查
 springdoc:
   swagger-ui:
     path: /swagger-ui.html