From a2f08541387806c9299a43b38fbfeaa5da5904a9 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 07 十二月 2021 17:43:55 +0800
Subject: [PATCH] 优化通道录入性能,优化启动后读取配置写入数据库的过程

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 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 7349a7a..5fcc3ad 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
@@ -27,7 +27,9 @@
 import javax.sip.SipException;
 import javax.sip.message.Response;
 import java.text.ParseException;
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 
 import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.getText;
 
@@ -69,7 +71,7 @@
             Element deviceListElement = rootElement.element("DeviceList");
             Iterator<Element> deviceListIterator = deviceListElement.elementIterator();
             if (deviceListIterator != null) {
-
+                List<DeviceChannel> channelList = new ArrayList<>();
                 // 閬嶅巻DeviceList
                 while (deviceListIterator.hasNext()) {
                     Element itemDevice = deviceListIterator.next();
@@ -151,9 +153,10 @@
                         deviceChannel.setPTZType(Integer.parseInt(getText(itemDevice, "PTZType")));
                     }
                     deviceChannel.setHasAudio(true); // 榛樿鍚湁闊抽锛屾挱鏀炬椂鍐嶆鏌ユ槸鍚︽湁闊抽鍙婃槸鍚AC
-                    storager.updateChannel(device.getDeviceId(), deviceChannel);
+                    // TODO 淇敼涓烘壒閲忔彃鍏�
+                    channelList.add(deviceChannel);
                 }
-
+                storager.updateChannels(device.getDeviceId(), channelList);
                 RequestMessage msg = new RequestMessage();
                 msg.setKey(key);
                 msg.setData(device);

--
Gitblit v1.8.0