From 0199676a6d120e825bcd11c6e46fbe0a01ceae59 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 22 十一月 2021 17:29:16 +0800
Subject: [PATCH] 查询流地址时mediaServerId改为可选
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java | 4 ++--
src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java | 3 +++
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 5 +++++
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java | 10 +++++++++-
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java | 2 ++
5 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
index f42b867..657d280 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -61,4 +61,6 @@
boolean checkMediaRecordServer(String ip, int port);
void delete(String id);
+
+ MediaServerItem getDefaultMediaServer();
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index 4ba361c..1c2190a 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -242,6 +242,11 @@
}
@Override
+ public MediaServerItem getDefaultMediaServer() {
+ return mediaServerMapper.queryDefault();
+ }
+
+ @Override
public void clearMediaServerForOnline() {
String key = VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX;
redisUtil.del(key);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
index 51c5979..a261d24 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
@@ -38,7 +38,13 @@
@Override
public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId, String addr) {
StreamInfo streamInfo = null;
- MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
+
+ MediaServerItem mediaInfo;
+ if (mediaServerId == null) {
+ mediaInfo = mediaServerService.getDefaultMediaServer();
+ }else {
+ mediaInfo = mediaServerService.getOne(mediaServerId);
+ }
if (mediaInfo == null) {
return streamInfo;
}
@@ -55,6 +61,8 @@
return streamInfo;
}
+
+
@Override
public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId) {
return getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId, null);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java
index 8d45b05..8cd5d6a 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java
@@ -105,4 +105,7 @@
@Select("SELECT * FROM media_server WHERE ip='${host}' and httpPort=${port}")
MediaServerItem queryOneByHostAndPort(String host, int port);
+
+ @Select("SELECT * FROM media_server WHERE defaultServer=1")
+ MediaServerItem queryDefault();
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java
index b4b7469..d5caab2 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java
@@ -44,11 +44,11 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "app", value = "搴旂敤鍚�", dataTypeClass = String.class),
@ApiImplicitParam(name = "stream", value = "娴乮d", dataTypeClass = String.class),
- @ApiImplicitParam(name = "mediaServerId", value = "濯掍綋鏈嶅姟鍣╥d", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "mediaServerId", value = "濯掍綋鏈嶅姟鍣╥d", dataTypeClass = String.class, required = false),
})
@GetMapping(value = "/stream_info_by_app_and_stream")
@ResponseBody
- public WVPResult<StreamInfo> getStreamInfoByAppAndStream(@RequestParam String app, @RequestParam String stream, @RequestParam String mediaServerId){
+ public WVPResult<StreamInfo> getStreamInfoByAppAndStream(@RequestParam String app, @RequestParam String stream, @RequestParam(required = false) String mediaServerId){
StreamInfo streamInfoByAppAndStreamWithCheck = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId);
WVPResult<StreamInfo> result = new WVPResult<>();
if (streamInfoByAppAndStreamWithCheck != null){
--
Gitblit v1.8.0