From 091d6e67ee7cd839465a88dbe02e59b78c935c13 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 29 Oct 2025 15:56:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=81=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E7=9A=84=E5=85=BC=E5=AE=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/genersoft/iot/vmp/gb28181/bean/Device.java | 2 +- .../impl/NotifyRequestForCatalogProcessor.java | 2 +- .../iot/vmp/storager/impl/RedisCatchStorageImpl.java | 11 +++++++---- .../service/impl/StreamPushServiceImpl.java | 3 +++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java index 4c9618da1..83a302ecc 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java @@ -213,7 +213,7 @@ public class Device { @Schema(description = "所属服务Id") private String serverId; - public boolean isWgs84() { + public boolean checkWgs84() { return geoCoordSys.equalsIgnoreCase("WGS84"); } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java index a5baded5a..074fb5dc2 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java @@ -124,7 +124,7 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent catalogChannelEvent.getChannel().setDataDeviceId(device.getId()); if (catalogChannelEvent.getChannel().getLongitude() > 0 && catalogChannelEvent.getChannel().getLatitude() > 0) { - if (device.isWgs84()) { + if (device.checkWgs84()) { catalogChannelEvent.getChannel().setGbLongitude(catalogChannelEvent.getChannel().getLongitude()); catalogChannelEvent.getChannel().setGbLatitude(catalogChannelEvent.getChannel().getLatitude()); }else { diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java index 63c07f1ca..27cff8f3e 100755 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java @@ -106,7 +106,7 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage { if (streamAuthorityInfo != null) { mediaInfo.setCallId(streamAuthorityInfo.getCallId()); } - redisTemplate.opsForValue().set(key, mediaInfo); + redisTemplate.opsForValue().set(key, JSON.toJSONString(mediaInfo)); } @Override @@ -130,7 +130,8 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage { String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetting.getServerId() + "_" + type.toUpperCase() + "_*_*_" + mediaServerId; List streams = RedisUtil.scan(redisTemplate, key); for (Object stream : streams) { - MediaInfo mediaInfo = (MediaInfo)redisTemplate.opsForValue().get(stream); + String mediaInfoJson = (String)redisTemplate.opsForValue().get(stream); + MediaInfo mediaInfo = JSON.parseObject(mediaInfoJson, MediaInfo.class); result.add(mediaInfo); } return result; @@ -251,7 +252,8 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage { List keys = RedisUtil.scan(redisTemplate, scanKey); if (keys.size() > 0) { String key = (String) keys.get(0); - result = JsonUtil.redisJsonToObject(redisTemplate, key, MediaInfo.class); + String mediaInfoJson = (String)redisTemplate.opsForValue().get(key); + result = JSON.parseObject(mediaInfoJson, MediaInfo.class); } return result; @@ -265,7 +267,8 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage { List keys = RedisUtil.scan(redisTemplate, scanKey); if (keys.size() > 0) { String key = (String) keys.get(0); - result = JsonUtil.redisJsonToObject(redisTemplate, key, MediaInfo.class); + String mediaInfoJson = (String)redisTemplate.opsForValue().get(key); + result = JSON.parseObject(mediaInfoJson, MediaInfo.class); } return result; diff --git a/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java index 36ef95b6e..a33d7ca3c 100755 --- a/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/streamPush/service/impl/StreamPushServiceImpl.java @@ -335,6 +335,9 @@ public class StreamPushServiceImpl implements IStreamPushService { } if (!mediaInfoList.isEmpty()) { for (MediaInfo mediaInfo : mediaInfoList) { + if (mediaInfo == null) { + continue; + } streamInfoPushItemMap.put(mediaInfo.getApp() + mediaInfo.getStream(), mediaInfo); } }