From 52656bb89314142c5c96d7bbfcdf452235603a28 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 03 十二月 2021 17:03:35 +0800
Subject: [PATCH] 修复mediaserverId未存入导致的问题
---
src/main/java/com/genersoft/iot/vmp/storager/dao/MediaServerMapper.java | 24 ++++++++++++++++++++++++
src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java | 12 ++++++++++--
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 4 +++-
3 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
index 93b975e..a6facd5 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
@@ -143,9 +143,13 @@
MediaServerItem mediaInfo = getMediaInfoByUri(requestURI);
String url = super.rewriteUrlFromRequest(servletRequest);
if (mediaInfo == null) {
+ logger.error("[ZLM鏈嶅姟璁块棶浠g悊]锛岄敊璇細澶勭悊url淇℃伅鏃舵湭鎵惧埌娴佸獟浣撲俊鎭�=>{}", requestURI);
return url;
}
- return url.replace(mediaInfo.getId() + "/", "").replace("default/", "");
+ if (!StringUtils.isEmpty(mediaInfo.getId())) {
+ url = url.replace(mediaInfo.getId() + "/", "");
+ }
+ return url.replace("default/", "");
}
}
@@ -258,9 +262,13 @@
MediaServerItem mediaInfo = getMediaInfoByUri(requestURI);
String url = super.rewriteUrlFromRequest(servletRequest);
if (mediaInfo == null) {
+ logger.error("[褰曞儚鏈嶅姟璁块棶浠g悊]锛岄敊璇細澶勭悊url淇℃伅鏃舵湭鎵惧埌娴佸獟浣撲俊鎭�=>{}", requestURI);
return url;
}
- return url.replace(mediaInfo.getId() + "/", "").replace("default/", "");
+ if (!StringUtils.isEmpty(mediaInfo.getId())) {
+ url = url.replace(mediaInfo.getId() + "/", "");
+ }
+ return url.replace("default/", "");
}
}
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 3339676..78911cd 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
@@ -324,6 +324,9 @@
}
if (StringUtils.isEmpty(serverItem.getId())) {
serverItem.setId(zlmServerConfig.getGeneralMediaServerId());
+ mediaServerMapper.updateByHostAndPort(serverItem);
+ }else {
+ mediaServerMapper.update(serverItem);
}
if (redisUtil.get(VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetup.getServerId() + "_" + serverItem.getId()) == null) {
SsrcConfig ssrcConfig = new SsrcConfig(serverItem.getId(), null, sipConfig.getDomain());
@@ -332,7 +335,6 @@
}
serverItem.setStatus(true);
- mediaServerMapper.update(serverItem);
resetOnlineServerItem(serverItem);
setZLMConfig(serverItem);
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 8cd5d6a..aaa1845 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
@@ -88,6 +88,30 @@
" </script>"})
int update(MediaServerItem mediaServerItem);
+ @Update(value = {" <script>" +
+ "UPDATE media_server " +
+ "SET updateTime='${updateTime}'" +
+ "<if test=\"id != null\">, id='${id}'</if>" +
+ "<if test=\"hookIp != null\">, hookIp='${hookIp}'</if>" +
+ "<if test=\"sdpIp != null\">, sdpIp='${sdpIp}'</if>" +
+ "<if test=\"streamIp != null\">, streamIp='${streamIp}'</if>" +
+ "<if test=\"httpSSlPort != null\">, httpSSlPort=${httpSSlPort}</if>" +
+ "<if test=\"rtmpPort != null\">, rtmpPort=${rtmpPort}</if>" +
+ "<if test=\"rtmpSSlPort != null\">, rtmpSSlPort=${rtmpSSlPort}</if>" +
+ "<if test=\"rtpProxyPort != null\">, rtpProxyPort=${rtpProxyPort}</if>" +
+ "<if test=\"rtspPort != null\">, rtspPort=${rtspPort}</if>" +
+ "<if test=\"rtspSSLPort != null\">, rtspSSLPort=${rtspSSLPort}</if>" +
+ "<if test=\"autoConfig != null\">, autoConfig=${autoConfig}</if>" +
+ "<if test=\"streamNoneReaderDelayMS != null\">, streamNoneReaderDelayMS=${streamNoneReaderDelayMS}</if>" +
+ "<if test=\"rtpEnable != null\">, rtpEnable=${rtpEnable}</if>" +
+ "<if test=\"rtpPortRange != null\">, rtpPortRange='${rtpPortRange}'</if>" +
+ "<if test=\"sendRtpPortRange != null\">, sendRtpPortRange='${sendRtpPortRange}'</if>" +
+ "<if test=\"secret != null\">, secret='${secret}'</if>" +
+ "<if test=\"recordAssistPort != null\">, recordAssistPort=${recordAssistPort}</if>" +
+ "WHERE ip='${ip}' and httpPort=${httpPort}"+
+ " </script>"})
+ int updateByHostAndPort(MediaServerItem mediaServerItem);
+
@Select("SELECT * FROM media_server WHERE id='${id}'")
MediaServerItem queryOne(String id);
--
Gitblit v1.8.0