From 691313b77861eeaeee2c67002b9cee23fbf1f942 Mon Sep 17 00:00:00 2001 From: mrjackwang <30337754+mrjackwang@users.noreply.github.com> Date: 星期三, 16 三月 2022 08:54:31 +0800 Subject: [PATCH] Merge branch '648540858:wvp-28181-2.0' into wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 38 +++++++++++++++++++++++++++++++++----- 1 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java index 13277c2..c1c7e24 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java @@ -59,6 +59,9 @@ private IRedisCatchStorage redisCatchStorage; @Autowired + private IVideoManagerStorager storager; + + @Autowired private UserSetup userSetup; @Autowired @@ -129,7 +132,7 @@ }else { streamLive = true; StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream( - mediaInfo, param.getApp(), param.getStream(), null); + mediaInfo, param.getApp(), param.getStream(), null, null); wvpResult.setData(streamInfo); } @@ -245,7 +248,7 @@ StreamProxyItem streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream); if (streamProxyDto != null && streamProxyDto.isEnable()) { JSONObject jsonObject = removeStreamProxyFromZlm(streamProxyDto); - if (jsonObject.getInteger("code") == 0) { + if (null==jsonObject.getInteger("code") || jsonObject.getInteger("code") == 0) { streamProxyDto.setEnable(false); result = videoManagerStorager.updateStreamProxy(streamProxyDto); } @@ -278,7 +281,27 @@ @Override public void zlmServerOnline(String mediaServerId) { - zlmServerOffline(mediaServerId); + // 绉婚櫎寮�鍚簡鏃犱汉瑙傜湅鑷姩绉婚櫎鐨勬祦 + List<StreamProxyItem> streamProxyItemList = streamProxyMapper.selecAutoRemoveItemByMediaServerId(mediaServerId); + if (streamProxyItemList.size() > 0) { + gbStreamMapper.batchDel(streamProxyItemList); + } + streamProxyMapper.deleteAutoRemoveItemByMediaServerId(mediaServerId); + + // 鎭㈠娴佷唬鐞�, 鍙煡鎵捐繖涓繖涓祦濯掍綋 + List<StreamProxyItem> streamProxyListForEnable = storager.getStreamProxyListForEnableInMediaServer( + mediaServerId, true, false); + for (StreamProxyItem streamProxyDto : streamProxyListForEnable) { + logger.info("鎭㈠娴佷唬鐞嗭紝" + streamProxyDto.getApp() + "/" + streamProxyDto.getStream()); + JSONObject jsonObject = addStreamProxyToZlm(streamProxyDto); + if (jsonObject == null) { + // 璁剧疆涓虹绾� + logger.info("鎭㈠娴佷唬鐞嗗け璐�" + streamProxyDto.getApp() + "/" + streamProxyDto.getStream()); + updateStatus(false, streamProxyDto.getApp(), streamProxyDto.getStream()); + }else { + updateStatus(true, streamProxyDto.getApp(), streamProxyDto.getStream()); + } + } } @Override @@ -289,8 +312,8 @@ gbStreamMapper.batchDel(streamProxyItemList); } streamProxyMapper.deleteAutoRemoveItemByMediaServerId(mediaServerId); - // 鍏朵粬鐨勬祦璁剧疆鏈惎鐢� - streamProxyMapper.updateStatus(false, mediaServerId); + // 鍏朵粬鐨勬祦璁剧疆绂荤嚎 + streamProxyMapper.updateStatusByMediaServerId(false, mediaServerId); String type = "PULL"; // 鍙戦�乺edis娑堟伅 @@ -314,4 +337,9 @@ public void clean() { } + + @Override + public int updateStatus(boolean status, String app, String stream) { + return streamProxyMapper.updateStatus(status, app, stream); + } } -- Gitblit v1.8.0