From e4754af417b176f5e0ab998e6594d875bc0a069c Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 06 七月 2023 15:35:59 +0800 Subject: [PATCH] 修复数据错误导致无法转成JSON返回 #919 --- src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java | 3 +++ src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java | 22 +++++++++++++++++----- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java | 11 +++++++++++ 3 files changed, 31 insertions(+), 5 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 1318c59..1c7baac 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 @@ -244,6 +244,9 @@ } public Integer getStreamModeForParam() { + if (streamMode == null) { + return 0; + } if (streamMode.equalsIgnoreCase("UDP")) { return 0; }else if (streamMode.equalsIgnoreCase("TCP-PASSIVE")) { diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java index 6eea02f..e084f35 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java @@ -166,7 +166,18 @@ device.setGeoCoordSys("WGS84"); device.setDeviceId(deviceId); device.setOnLine(false); + }else { + if (ObjectUtils.isEmpty(device.getStreamMode())) { + device.setStreamMode("UDP"); + } + if (ObjectUtils.isEmpty(device.getCharset())) { + device.setCharset("GB2312"); + } + if (ObjectUtils.isEmpty(device.getGeoCoordSys())) { + device.setGeoCoordSys("WGS84"); + } } + device.setIp(remoteAddressInfo.getIp()); device.setPort(remoteAddressInfo.getPort()); device.setHostAddress(remoteAddressInfo.getIp().concat(":").concat(String.valueOf(remoteAddressInfo.getPort()))); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java index c288ff4..6e748f4 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java @@ -493,8 +493,12 @@ if (!ObjectUtils.isEmpty(device.getMediaServerId())) { deviceInStore.setMediaServerId(device.getMediaServerId()); } - deviceInStore.setSdpIp(device.getSdpIp()); - deviceInStore.setCharset(device.getCharset()); + if (!ObjectUtils.isEmpty(device.getCharset())) { + deviceInStore.setCharset(device.getCharset()); + } + if (!ObjectUtils.isEmpty(device.getSdpIp())) { + deviceInStore.setSdpIp(device.getSdpIp()); + } // 鐩綍璁㈤槄鐩稿叧鐨勪俊鎭� if (device.getSubscribeCycleForCatalog() > 0) { @@ -525,10 +529,18 @@ removeMobilePositionSubscribe(deviceInStore); } } - // 鍧愭爣绯诲彉鍖栵紝闇�瑕侀噸鏂拌绠桮CJ02鍧愭爣鍜學GS84鍧愭爣 - if (!deviceInStore.getGeoCoordSys().equals(device.getGeoCoordSys())) { - updateDeviceChannelGeoCoordSys(device); + if (deviceInStore.getGeoCoordSys() != null) { + // 鍧愭爣绯诲彉鍖栵紝闇�瑕侀噸鏂拌绠桮CJ02鍧愭爣鍜學GS84鍧愭爣 + if (!deviceInStore.getGeoCoordSys().equals(device.getGeoCoordSys())) { + updateDeviceChannelGeoCoordSys(device); + } + }else { + device.setGeoCoordSys("WGS84"); } + if (device.getCharset() == null) { + device.setCharset("GB2312"); + } + // 鏇存柊redis redisCatchStorage.updateDevice(device); deviceMapper.updateCustom(device); -- Gitblit v1.8.0