From 72c1b36d6d2ece497e032c8434641d6576590f9d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 03 七月 2022 00:44:36 +0800
Subject: [PATCH] 优化对讲逻辑

---
 src/main/java/com/genersoft/iot/vmp/gb28181/event/EventPublisher.java |   64 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/EventPublisher.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/EventPublisher.java
index 76b4427..eaf674f 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/EventPublisher.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/EventPublisher.java
@@ -1,23 +1,21 @@
 package com.genersoft.iot.vmp.gb28181.event;
 
-import com.genersoft.iot.vmp.gb28181.bean.Device;
-import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
-import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.gb28181.event.offline.OfflineEvent;
+import com.genersoft.iot.vmp.gb28181.bean.*;
+import com.genersoft.iot.vmp.gb28181.event.device.RequestTimeoutEvent;
 import com.genersoft.iot.vmp.gb28181.event.platformKeepaliveExpire.PlatformKeepaliveExpireEvent;
+import com.genersoft.iot.vmp.gb28181.event.platformNotRegister.PlatformCycleRegisterEvent;
 import com.genersoft.iot.vmp.gb28181.event.platformNotRegister.PlatformNotRegisterEvent;
+import com.genersoft.iot.vmp.gb28181.event.record.RecordEndEvent;
 import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
 import com.genersoft.iot.vmp.media.zlm.event.ZLMOfflineEvent;
 import com.genersoft.iot.vmp.media.zlm.event.ZLMOnlineEvent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 
-import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
 import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEvent;
-import com.genersoft.iot.vmp.gb28181.event.online.OnlineEvent;
 
+import javax.sip.TimeoutEvent;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -33,20 +31,6 @@
 
 	@Autowired
     private ApplicationEventPublisher applicationEventPublisher;
-	
-	public void onlineEventPublish(Device device, String from) {
-		OnlineEvent onEvent = new OnlineEvent(this);
-		onEvent.setDevice(device);
-		onEvent.setFrom(from);
-        applicationEventPublisher.publishEvent(onEvent);
-    }
-	
-	public void outlineEventPublish(String deviceId, String from){
-		OfflineEvent outEvent = new OfflineEvent(this);
-		outEvent.setDeviceId(deviceId);
-		outEvent.setFrom(from);
-        applicationEventPublisher.publishEvent(outEvent);
-    }
 
 	/**
 	 * 骞冲彴蹇冭烦鍒版湡浜嬩欢
@@ -66,6 +50,16 @@
 		PlatformNotRegisterEvent platformNotRegisterEvent = new PlatformNotRegisterEvent(this);
 		platformNotRegisterEvent.setPlatformGbID(platformGbId);
         applicationEventPublisher.publishEvent(platformNotRegisterEvent);
+	}
+
+	/**
+	 * 骞冲彴鍛ㄦ湡娉ㄥ唽浜嬩欢
+	 * @param paltformGbId
+	 */
+	public void platformRegisterCycleEventPublish(String paltformGbId) {
+		PlatformCycleRegisterEvent platformCycleRegisterEvent = new PlatformCycleRegisterEvent(this);
+		platformCycleRegisterEvent.setPlatformGbID(paltformGbId);
+		applicationEventPublisher.publishEvent(platformCycleRegisterEvent);
 	}
 	
 	/**
@@ -90,14 +84,27 @@
 		applicationEventPublisher.publishEvent(outEvent);
 	}
 
-	@Async
+
 	public void catalogEventPublish(String platformId, DeviceChannel deviceChannel, String type) {
 		List<DeviceChannel> deviceChannelList = new ArrayList<>();
 		deviceChannelList.add(deviceChannel);
 		catalogEventPublish(platformId, deviceChannelList, type);
 	}
 
-	@Async
+
+	public void requestTimeOut(TimeoutEvent timeoutEvent) {
+		RequestTimeoutEvent requestTimeoutEvent = new RequestTimeoutEvent(this);
+		requestTimeoutEvent.setTimeoutEvent(timeoutEvent);
+		applicationEventPublisher.publishEvent(requestTimeoutEvent);
+	}
+
+
+	/**
+	 *
+	 * @param platformId
+	 * @param deviceChannels
+	 * @param type
+	 */
 	public void catalogEventPublish(String platformId, List<DeviceChannel> deviceChannels, String type) {
 		CatalogEvent outEvent = new CatalogEvent(this);
 		List<DeviceChannel> channels = new ArrayList<>();
@@ -119,7 +126,7 @@
 		applicationEventPublisher.publishEvent(outEvent);
 	}
 
-	@Async
+
 	public void catalogEventPublishForStream(String platformId, List<GbStream> gbStreams, String type) {
 		CatalogEvent outEvent = new CatalogEvent(this);
 		outEvent.setGbStreams(gbStreams);
@@ -128,10 +135,17 @@
 		applicationEventPublisher.publishEvent(outEvent);
 	}
 
-	@Async
+
 	public void catalogEventPublishForStream(String platformId, GbStream gbStream, String type) {
 		List<GbStream> gbStreamList = new ArrayList<>();
 		gbStreamList.add(gbStream);
 		catalogEventPublishForStream(platformId, gbStreamList, type);
 	}
+
+	public void recordEndEventPush(RecordInfo recordInfo) {
+		RecordEndEvent outEvent = new RecordEndEvent(this);
+		outEvent.setRecordInfo(recordInfo);
+		applicationEventPublisher.publishEvent(outEvent);
+	}
+
 }

--
Gitblit v1.8.0