From 40a806329ce08d5f50795cf965ef773aa48fdd3e Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期五, 15 四月 2022 09:37:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into map

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
index 32b645c..aae3515 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
@@ -12,6 +12,7 @@
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.ResponseMessageHandler;
+import com.genersoft.iot.vmp.gb28181.utils.Coordtransform;
 import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
 import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
@@ -123,7 +124,7 @@
 
                         channelList.add(deviceChannel);
                     }
-                    logger.debug("鏀跺埌鏉ヨ嚜璁惧銆恵}銆戠殑閫氶亾: {}涓紝{}/{}", device.getDeviceId(), channelList.size(), catalogDataCatch.get(key) == null ? 0 :catalogDataCatch.get(key).size(), sumNum);
+                    logger.info("鏀跺埌鏉ヨ嚜璁惧銆恵}銆戠殑閫氶亾: {}涓紝{}/{}", device.getDeviceId(), channelList.size(), catalogDataCatch.get(key) == null ? 0 :catalogDataCatch.get(key).size(), sumNum);
                     catalogDataCatch.put(key, sumNum, device, channelList);
                     if (catalogDataCatch.get(key).size() == sumNum) {
                         // 鏁版嵁宸茬粡瀹屾暣鎺ユ敹
@@ -145,9 +146,6 @@
                 }
                 // 鍥炲200 OK
                 responseAck(evt, Response.OK);
-                if (offLineDetector.isOnline(device.getDeviceId())) {
-                    publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_MESSAGE);
-                }
             }
         } catch (DocumentException e) {
             e.printStackTrace();
@@ -214,12 +212,12 @@
                 mobilePosition.setAltitude(0.0);
             }
             mobilePosition.setReportSource("Mobile Position");
-            BaiduPoint bp = new BaiduPoint();
-            bp = GpsUtil.Wgs84ToBd09(String.valueOf(mobilePosition.getLongitude()), String.valueOf(mobilePosition.getLatitude()));
-            logger.info("鐧惧害鍧愭爣锛�" + bp.getBdLng() + ", " + bp.getBdLat());
-            mobilePosition.setGeodeticSystem("BD-09");
-            mobilePosition.setCnLng(bp.getBdLng());
-            mobilePosition.setCnLat(bp.getBdLat());
+            // 榛樿鏉ユ簮鍧愭爣绯讳负WGS-84澶勭悊
+            Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
+            logger.info("GCJ02鍧愭爣锛�" + gcj02Point[0] + ", " + gcj02Point[1]);
+            mobilePosition.setGeodeticSystem("GCJ-02");
+            mobilePosition.setCnLng(gcj02Point[0] + "");
+            mobilePosition.setCnLat(gcj02Point[1] + "");
             if (!userSetting.getSavePositionHistory()) {
                 storager.clearMobilePositionsByDeviceId(deviceId);
             }
@@ -230,8 +228,22 @@
         }
     }
 
-    public String getChannelSyncProgress(String deviceId) {
+    public SyncStatus getChannelSyncProgress(String deviceId) {
         String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
-        return catalogDataCatch.get(key) == null ? "0/0" : catalogDataCatch.get(key).size() + "/" + catalogDataCatch.getTotal(key);
+        if (catalogDataCatch.get(key) == null) {
+            return null;
+        }else {
+            return catalogDataCatch.getSyncStatus(key);
+        }
+    }
+
+    public void setChannelSyncReady(String deviceId) {
+        String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
+        catalogDataCatch.addReady(key);
+    }
+
+    public void setChannelSyncEnd(String deviceId, String errorMsg) {
+        String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
+        catalogDataCatch.setChannelSyncEnd(key, errorMsg);
     }
 }

--
Gitblit v1.8.0