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 61 boolean checkMediaRecordServer(String ip, int port);
62 62  
63 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 242 }
243 243  
244 244 @Override
  245 + public MediaServerItem getDefaultMediaServer() {
  246 + return mediaServerMapper.queryDefault();
  247 + }
  248 +
  249 + @Override
245 250 public void clearMediaServerForOnline() {
246 251 String key = VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX;
247 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 38 @Override
39 39 public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId, String addr) {
40 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 48 if (mediaInfo == null) {
43 49 return streamInfo;
44 50 }
... ... @@ -55,6 +61,8 @@ public class MediaServiceImpl implements IMediaService {
55 61 return streamInfo;
56 62 }
57 63  
  64 +
  65 +
58 66 @Override
59 67 public StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId) {
60 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 105  
106 106 @Select("SELECT * FROM media_server WHERE ip='${host}' and httpPort=${port}")
107 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 44 @ApiImplicitParams({
45 45 @ApiImplicitParam(name = "app", value = "应用名", dataTypeClass = String.class),
46 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 49 @GetMapping(value = "/stream_info_by_app_and_stream")
50 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 52 StreamInfo streamInfoByAppAndStreamWithCheck = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId);
53 53 WVPResult<StreamInfo> result = new WVPResult<>();
54 54 if (streamInfoByAppAndStreamWithCheck != null){
... ...