From 4a22611320f7016d98a37dda57ef1ca4ea9489ec Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 11 三月 2022 09:54:35 +0800
Subject: [PATCH] 优化目录订阅时父节点的更新

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java |    3 ---
 src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java                                          |    2 +-
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java          |    1 -
 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java                              |    3 ++-
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java                                    |    9 +++++++++
 5 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java
index 49c52d5..b347bba 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java
@@ -30,7 +30,7 @@
 //    @Scheduled(fixedRate= 100 * 60 * 60 )
     @Scheduled(cron="0 0/5 * * * ?")   //姣�5鍒嗛挓鎵ц涓�娆�
     public void execute(){
-        logger.info("[瀹氭椂浠诲姟] 娓呯悊杩囨湡鐨勮闃呬俊鎭�");
+        logger.info("[瀹氭椂浠诲姟] 娓呯悊杩囨湡鐨凷IP璁㈤槄淇℃伅");
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(new Date());
         calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) - 5);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
index 6ae0f3e..3961eea 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
@@ -233,7 +233,6 @@
 	 */
 	private void processNotifyCatalogList(RequestEvent evt) {
 		try {
-			System.out.println(343434);
 			FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
 			String deviceId = SipUtils.getUserIdFromFromHeader(fromHeader);
 
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java
index 5813998..e126fba 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java
@@ -67,9 +67,6 @@
         // 鏌ヨ璁惧鏄惁瀛樺湪
         CSeqHeader cseqHeader = (CSeqHeader) evt.getRequest().getHeader(CSeqHeader.NAME);
         String method = cseqHeader.getMethod();
-        if (method.equals("MESSAGE")) {
-            System.out.println();
-        }
         Device device = redisCatchStorage.getDevice(deviceId);
         // 鏌ヨ涓婄骇骞冲彴鏄惁瀛樺湪
         ParentPlatform parentPlatform = storage.queryParentPlatByServerGBId(deviceId);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
index 5e6ffed..e4fc1eb 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -247,4 +247,13 @@
             "<foreach collection='channels'  item='item'  open='(' separator=',' close=')' > #{item.channelId}</foreach>" +
             " </script>"})
     int cleanChannelsNotInList(String deviceId, List<DeviceChannel> channels);
+
+    @Update(" update device_channel" +
+            " set subCount = (select *" +
+            "                from (select count(0)" +
+            "                      from device_channel" +
+            "                      where deviceId = #{deviceId} and parentId = #{channelId}) as temp)" +
+            " where deviceId = #{deviceId} " +
+            " and channelId = #{channelId}")
+    int updateChannelSubCount(String deviceId, String channelId);
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
index ce45088..fe71e42 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -42,7 +42,7 @@
 @Component
 public class VideoManagerStoragerImpl implements IVideoManagerStorager {
 
-	private Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class);
+	private final Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class);
 
 	@Autowired
 	EventPublisher eventPublisher;
@@ -171,6 +171,7 @@
 		}else {
 			deviceChannelMapper.update(channel);
 		}
+		deviceChannelMapper.updateChannelSubCount(deviceId,channel.getParentId());
 	}
 
 	@Override

--
Gitblit v1.8.0