From 91515f1b05aca0073b5dd3d4e2b3855d9b69066b Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期一, 18 四月 2022 17:38:49 +0800
Subject: [PATCH] 添加行政区划功能,修复目录发送数量统计的BUG

---
 src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java                                                 |    3 ---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java   |    4 ++--
 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java                                              |    4 ++--
 web_src/src/components/dialog/platformEdit.vue                                                                              |   11 +++++++++++
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java                                  |    7 +++----
 src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java                               |    1 -
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java |    4 ++--
 7 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
index 034f9de..c495403 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
@@ -29,7 +29,6 @@
     private String key;
 
     public MobilePositionSubscribeHandlerTask(IRedisCatchStorage redisCatchStorage, ISIPCommanderForPlatform sipCommanderForPlatform, IVideoManagerStorage storager, String platformId, String sn, String key, SubscribeHolder subscribeInfo) {
-        System.out.println("MobilePositionSubscribeHandlerTask 鍒濆鍖�");
         this.redisCatchStorage = redisCatchStorage;
         this.storager = storager;
         this.platform = storager.queryParentPlatByServerGBId(platformId);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
index 14f729d..3705311 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
@@ -293,12 +293,11 @@
         }
         try {
             List<DeviceChannel> deviceChannels;
-            if (index + parentPlatform.getCatalogGroup() < channels.size() - 1) {
+            if (index + parentPlatform.getCatalogGroup() < channels.size()) {
                 deviceChannels = channels.subList(index, index + parentPlatform.getCatalogGroup());
             }else {
                 deviceChannels = channels.subList(index, channels.size());
             }
-
             String catalogXml = getCatalogXml(deviceChannels, sn, parentPlatform, channels.size());
             // callid
             CallIdHeader callIdHeader = parentPlatform.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
@@ -445,7 +444,7 @@
             return true;
         }
         List<DeviceChannel> channels;
-        if (index + parentPlatform.getCatalogGroup() < deviceChannels.size() - 1) {
+        if (index + parentPlatform.getCatalogGroup() < deviceChannels.size()) {
             channels = deviceChannels.subList(index, index + parentPlatform.getCatalogGroup());
         }else {
             channels = deviceChannels.subList(index, deviceChannels.size());
@@ -579,7 +578,7 @@
             return true;
         }
         List<DeviceChannel> channels;
-        if (index + parentPlatform.getCatalogGroup() < deviceChannels.size() - 1) {
+        if (index + parentPlatform.getCatalogGroup() < deviceChannels.size()) {
             channels = deviceChannels.subList(index, index + parentPlatform.getCatalogGroup());
         }else {
             channels = deviceChannels.subList(index, deviceChannels.size());
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
index 419a5c2..d17920d 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
@@ -79,7 +79,7 @@
                     deviceChannel.setParental(1);
                     deviceChannel.setParentId(catalog.getParentId());
                     deviceChannel.setRegisterWay(1);
-                    deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0,6));
+                    deviceChannel.setCivilCode(parentPlatform.getAdministrativeDivision());
                     deviceChannel.setModel("live");
                     deviceChannel.setOwner("wvp-pro");
                     deviceChannel.setSecrecy("0");
@@ -116,7 +116,7 @@
                     deviceChannel.setStatus(1);
     				deviceChannel.setParentId(gbStream.getCatalogId());
                     deviceChannel.setRegisterWay(1);
-                    deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0,6));
+                    deviceChannel.setCivilCode(parentPlatform.getAdministrativeDivision());
                     deviceChannel.setModel("live");
                     deviceChannel.setOwner("wvp-pro");
                     deviceChannel.setParental(0);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
index 6a33da4..9844315 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
@@ -93,7 +93,7 @@
                     deviceChannel.setParental(1);
                     deviceChannel.setParentId(catalog.getParentId());
                     deviceChannel.setRegisterWay(1);
-                    deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0,6));
+                    deviceChannel.setCivilCode(parentPlatform.getAdministrativeDivision());
                     deviceChannel.setModel("live");
                     deviceChannel.setOwner("wvp-pro");
                     deviceChannel.setSecrecy("0");
@@ -130,7 +130,7 @@
                     deviceChannel.setStatus(1);
                     deviceChannel.setParentId(gbStream.getCatalogId());
                     deviceChannel.setRegisterWay(1);
-                    deviceChannel.setCivilCode(parentPlatform.getDeviceGBId().substring(0,6));
+                    deviceChannel.setCivilCode(parentPlatform.getAdministrativeDivision());
                     deviceChannel.setModel("live");
                     deviceChannel.setOwner("wvp-pro");
                     deviceChannel.setParental(0);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index 3aaa735..79b9b29 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -420,9 +420,6 @@
                                 continue;
                             }
                             streamPushItemForPlatform.setPlatformId(platFormInfoArray[0]);
-                            if (platFormInfoArray[0].equals("34020000002110000001")) {
-                                System.out.println(111);
-                            }
                             List<GbStream> gbStreamList = platformForEvent.get(platFormInfoArray[0]);
                             if (gbStreamList == null) {
                                 gbStreamList = new ArrayList<>();
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index 6d680bc..fbb6e38 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -524,7 +524,7 @@
 			parentPlatform.setCatalogGroup(1);
 		}
 		if (parentPlatform.getAdministrativeDivision() == null) {
-			parentPlatform.setAdministrativeDivision(parentPlatform.getDeviceGBId().substring(0,6));
+			parentPlatform.setAdministrativeDivision(parentPlatform.getAdministrativeDivision());
 		}
 		ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId()); // .getDeviceGBId());
 		if (parentPlatform.getId() == null ) {
@@ -1081,7 +1081,7 @@
 		deviceChannel.setParentId(catalog.getParentId());
 		deviceChannel.setRegisterWay(1);
 		// 琛屾斂鍖哄垝搴旇鏄疍omain鐨勫墠鍏綅
-		deviceChannel.setCivilCode(parentPlatByServerGBId.getDeviceGBId().substring(0,6));
+		deviceChannel.setCivilCode(parentPlatByServerGBId.getAdministrativeDivision());
 		deviceChannel.setModel("live");
 		deviceChannel.setOwner("wvp-pro");
 		deviceChannel.setSecrecy("0");
diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue
index b7df7e3..0caec32 100644
--- a/web_src/src/components/dialog/platformEdit.vue
+++ b/web_src/src/components/dialog/platformEdit.vue
@@ -44,6 +44,9 @@
               <el-form-item label="SIP璁よ瘉鐢ㄦ埛鍚�" prop="username">
                 <el-input v-model="platform.username"></el-input>
               </el-form-item>
+              <el-form-item label="琛屾斂鍖哄垝" prop="administrativeDivision">
+                <el-input v-model="platform.administrativeDivision" clearable></el-input>
+              </el-form-item>
               <el-form-item label="SIP璁よ瘉瀵嗙爜" prop="password">
                 <el-input v-model="platform.password" ></el-input>
               </el-form-item>
@@ -153,6 +156,7 @@
         shareAllLiveStream: false,
         startOfflinePush: false,
         catalogGroup: 1,
+        administrativeDivision: null,
       },
       rules: {
         name: [{ required: true, message: "璇疯緭鍏ュ钩鍙板悕绉�", trigger: "blur" }],
@@ -190,6 +194,7 @@
           that.platform.devicePort = res.data.devicePort;
           that.platform.username = res.data.username;
           that.platform.password = res.data.password;
+          that.platform.administrativeDivision = res.data.username.substr(0, 6);
         }).catch(function (error) {
           console.log(error);
         });
@@ -216,6 +221,7 @@
         this.platform.catalogId = platform.catalogId;
         this.platform.startOfflinePush = platform.startOfflinePush;
         this.platform.catalogGroup = platform.catalogGroup;
+        this.platform.administrativeDivision = platform.administrativeDivision;
         this.onSubmit_text = "淇濆瓨";
         this.saveUrl = "/api/platform/save";
       }
@@ -230,6 +236,10 @@
     deviceGBIdChange: function () {
 
       this.platform.username = this.platform.deviceGBId ;
+      if (this.platform.administrativeDivision == null) {
+        this.platform.administrativeDivision = this.platform.deviceGBId.substr(0, 6);
+      }
+
     },
     onSubmit: function () {
       var that = this;
@@ -270,6 +280,7 @@
         rtcp: false,
         name: null,
         serverGBId: null,
+        administrativeDivision: null,
         serverGBDomain: null,
         serverIP: null,
         serverPort: null,

--
Gitblit v1.8.0