Commit 0199676a6d120e825bcd11c6e46fbe0a01ceae59

Authored by 648540858
1 parent 692348c3

查询流地址时mediaServerId改为可选

src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -61,4 +61,6 @@ public interface IMediaServerService { @@ -61,4 +61,6 @@ public interface IMediaServerService {
61 boolean checkMediaRecordServer(String ip, int port); 61 boolean checkMediaRecordServer(String ip, int port);
62 62
63 void delete(String id); 63 void delete(String id);
  64 +
  65 + MediaServerItem getDefaultMediaServer();
64 } 66 }
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -242,6 +242,11 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR @@ -242,6 +242,11 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
242 } 242 }
243 243
244 @Override 244 @Override
  245 + public MediaServerItem getDefaultMediaServer() {
  246 + return mediaServerMapper.queryDefault();
  247 + }
  248 +
  249 + @Override
245 public void clearMediaServerForOnline() { 250 public void clearMediaServerForOnline() {
246 String key = VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX; 251 String key = VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX;
247 redisUtil.del(key); 252 redisUtil.del(key);
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
@@ -38,7 +38,13 @@ public class MediaServiceImpl implements IMediaService { @@ -38,7 +38,13 @@ public class MediaServiceImpl implements IMediaService {
38 @Override 38 @Override
39 public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId, String addr) { 39 public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId, String addr) {
40 StreamInfo streamInfo = null; 40 StreamInfo streamInfo = null;
41 - MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId); 41 +
  42 + MediaServerItem mediaInfo;
  43 + if (mediaServerId == null) {
  44 + mediaInfo = mediaServerService.getDefaultMediaServer();
  45 + }else {
  46 + mediaInfo = mediaServerService.getOne(mediaServerId);
  47 + }
42 if (mediaInfo == null) { 48 if (mediaInfo == null) {
43 return streamInfo; 49 return streamInfo;
44 } 50 }
@@ -55,6 +61,8 @@ public class MediaServiceImpl implements IMediaService { @@ -55,6 +61,8 @@ public class MediaServiceImpl implements IMediaService {
55 return streamInfo; 61 return streamInfo;
56 } 62 }
57 63
  64 +
  65 +
58 @Override 66 @Override
59 public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId) { 67 public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId) {
60 return getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId, null); 68 return getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId, null);
src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java
@@ -105,4 +105,7 @@ public interface MediaServerMapper { @@ -105,4 +105,7 @@ public interface MediaServerMapper {
105 105
106 @Select("SELECT * FROM media_server WHERE ip='${host}' and httpPort=${port}") 106 @Select("SELECT * FROM media_server WHERE ip='${host}' and httpPort=${port}")
107 MediaServerItem queryOneByHostAndPort(String host, int port); 107 MediaServerItem queryOneByHostAndPort(String host, int port);
  108 +
  109 + @Select("SELECT * FROM media_server WHERE defaultServer=1")
  110 + MediaServerItem queryDefault();
108 } 111 }
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java
@@ -44,11 +44,11 @@ public class MediaController { @@ -44,11 +44,11 @@ public class MediaController {
44 @ApiImplicitParams({ 44 @ApiImplicitParams({
45 @ApiImplicitParam(name = "app", value = "应用名", dataTypeClass = String.class), 45 @ApiImplicitParam(name = "app", value = "应用名", dataTypeClass = String.class),
46 @ApiImplicitParam(name = "stream", value = "流id", dataTypeClass = String.class), 46 @ApiImplicitParam(name = "stream", value = "流id", dataTypeClass = String.class),
47 - @ApiImplicitParam(name = "mediaServerId", value = "媒体服务器id", dataTypeClass = String.class), 47 + @ApiImplicitParam(name = "mediaServerId", value = "媒体服务器id", dataTypeClass = String.class, required = false),
48 }) 48 })
49 @GetMapping(value = "/stream_info_by_app_and_stream") 49 @GetMapping(value = "/stream_info_by_app_and_stream")
50 @ResponseBody 50 @ResponseBody
51 - public WVPResult<StreamInfo> getStreamInfoByAppAndStream(@RequestParam String app, @RequestParam String stream, @RequestParam String mediaServerId){ 51 + public WVPResult<StreamInfo> getStreamInfoByAppAndStream(@RequestParam String app, @RequestParam String stream, @RequestParam(required = false) String mediaServerId){
52 StreamInfo streamInfoByAppAndStreamWithCheck = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId); 52 StreamInfo streamInfoByAppAndStreamWithCheck = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId);
53 WVPResult<StreamInfo> result = new WVPResult<>(); 53 WVPResult<StreamInfo> result = new WVPResult<>();
54 if (streamInfoByAppAndStreamWithCheck != null){ 54 if (streamInfoByAppAndStreamWithCheck != null){