From d9cfe061b9b501511f5d769f751c8ff6bbcb1bf9 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 17 八月 2023 15:20:25 +0800
Subject: [PATCH] 优化对讲释放流程

---
 src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

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 e683da6..5192d1d 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
@@ -190,6 +190,17 @@
             redisCatchStorage.sendDeviceOrChannelStatus(device.getDeviceId(), null, true);
         }
 
+//
+//        try {
+//            cmder.alarmSubscribe(device, 600, "0", "4", "0", "2023-7-27T00:00:00", "2023-7-28T00:00:00");
+//        } catch (InvalidArgumentException e) {
+//            throw new RuntimeException(e);
+//        } catch (SipException e) {
+//            throw new RuntimeException(e);
+//        } catch (ParseException e) {
+//            throw new RuntimeException(e);
+//        }
+
     }
 
     @Override
@@ -518,8 +529,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) {
@@ -550,10 +565,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