old mode 100644
new mode 100755
| | |
| | | package com.genersoft.iot.vmp.gb28181.event;
|
| | |
|
| | | import com.genersoft.iot.vmp.gb28181.bean.*;
|
| | | import com.genersoft.iot.vmp.gb28181.event.device.RequestTimeoutEvent;
|
| | | 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.stereotype.Component;
|
| | |
|
| | | import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEvent;
|
| | |
|
| | | import javax.sip.TimeoutEvent;
|
| | | import java.util.ArrayList;
|
| | | import java.util.HashSet;
|
| | | import java.util.List;
|
| | | import java.util.Set;
|
| | |
|
| | | /** |
| | | * @description:Event事件通知推送器,支持推送在线事件、离线事件
|
| | | * @author: swwheihei
|
| | | * @date: 2020年5月6日 上午11:30:50 |
| | | */
|
| | | @Component
|
| | | public class EventPublisher {
|
| | |
|
| | | @Autowired
|
| | | private ApplicationEventPublisher applicationEventPublisher;
|
| | | |
| | | /**
|
| | | * 设备报警事件
|
| | | * @param deviceAlarm
|
| | | */
|
| | | public void deviceAlarmEventPublish(DeviceAlarm deviceAlarm) {
|
| | | AlarmEvent alarmEvent = new AlarmEvent(this);
|
| | | alarmEvent.setAlarmInfo(deviceAlarm);
|
| | | applicationEventPublisher.publishEvent(alarmEvent);
|
| | | }
|
| | |
|
| | | public void zlmOfflineEventPublish(String mediaServerId){
|
| | | ZLMOfflineEvent outEvent = new ZLMOfflineEvent(this);
|
| | | outEvent.setMediaServerId(mediaServerId);
|
| | | applicationEventPublisher.publishEvent(outEvent);
|
| | | }
|
| | |
|
| | | public void zlmOnlineEventPublish(String mediaServerId) {
|
| | | ZLMOnlineEvent outEvent = new ZLMOnlineEvent(this);
|
| | | outEvent.setMediaServerId(mediaServerId);
|
| | | applicationEventPublisher.publishEvent(outEvent);
|
| | | }
|
| | |
|
| | |
|
| | | public void catalogEventPublish(String platformId, DeviceChannel deviceChannel, String type) {
|
| | | List<DeviceChannel> deviceChannelList = new ArrayList<>();
|
| | | deviceChannelList.add(deviceChannel);
|
| | | catalogEventPublish(platformId, deviceChannelList, type);
|
| | | }
|
| | |
|
| | |
|
| | | 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<>();
|
| | | if (deviceChannels.size() > 1) {
|
| | | // 数据去重
|
| | | Set<String> gbIdSet = new HashSet<>();
|
| | | for (DeviceChannel deviceChannel : deviceChannels) {
|
| | | if (!gbIdSet.contains(deviceChannel.getChannelId())) {
|
| | | gbIdSet.add(deviceChannel.getChannelId());
|
| | | channels.add(deviceChannel);
|
| | | }
|
| | | }
|
| | | }else {
|
| | | channels = deviceChannels;
|
| | | }
|
| | | outEvent.setDeviceChannels(channels);
|
| | | outEvent.setType(type);
|
| | | outEvent.setPlatformId(platformId);
|
| | | applicationEventPublisher.publishEvent(outEvent);
|
| | | }
|
| | |
|
| | |
|
| | | public void catalogEventPublishForStream(String platformId, List<GbStream> gbStreams, String type) {
|
| | | CatalogEvent outEvent = new CatalogEvent(this);
|
| | | outEvent.setGbStreams(gbStreams);
|
| | | outEvent.setType(type);
|
| | | outEvent.setPlatformId(platformId);
|
| | | applicationEventPublisher.publishEvent(outEvent);
|
| | | }
|
| | |
|
| | |
|
| | | 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);
|
| | | }
|
| | |
|
| | | }
|
| | | package com.genersoft.iot.vmp.gb28181.event; |
| | | |
| | | import com.genersoft.iot.vmp.gb28181.bean.*; |
| | | import com.genersoft.iot.vmp.gb28181.event.device.RequestTimeoutEvent; |
| | | 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.stereotype.Component; |
| | | |
| | | import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEvent; |
| | | |
| | | import javax.sip.TimeoutEvent; |
| | | import java.util.ArrayList; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * @description:Event事件通知推送器,支持推送在线事件、离线事件 |
| | | * @author: swwheihei |
| | | * @date: 2020年5月6日 上午11:30:50 |
| | | */ |
| | | @Component |
| | | public class EventPublisher { |
| | | |
| | | @Autowired |
| | | private ApplicationEventPublisher applicationEventPublisher; |
| | | |
| | | /** |
| | | * 设备报警事件 |
| | | * @param deviceAlarm |
| | | */ |
| | | public void deviceAlarmEventPublish(DeviceAlarm deviceAlarm) { |
| | | AlarmEvent alarmEvent = new AlarmEvent(this); |
| | | alarmEvent.setAlarmInfo(deviceAlarm); |
| | | applicationEventPublisher.publishEvent(alarmEvent); |
| | | } |
| | | |
| | | public void zlmOfflineEventPublish(String mediaServerId){ |
| | | ZLMOfflineEvent outEvent = new ZLMOfflineEvent(this); |
| | | outEvent.setMediaServerId(mediaServerId); |
| | | applicationEventPublisher.publishEvent(outEvent); |
| | | } |
| | | |
| | | public void zlmOnlineEventPublish(String mediaServerId) { |
| | | ZLMOnlineEvent outEvent = new ZLMOnlineEvent(this); |
| | | outEvent.setMediaServerId(mediaServerId); |
| | | applicationEventPublisher.publishEvent(outEvent); |
| | | } |
| | | |
| | | |
| | | public void catalogEventPublish(String platformId, DeviceChannel deviceChannel, String type) { |
| | | List<DeviceChannel> deviceChannelList = new ArrayList<>(); |
| | | deviceChannelList.add(deviceChannel); |
| | | catalogEventPublish(platformId, deviceChannelList, type); |
| | | } |
| | | |
| | | |
| | | 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<>(); |
| | | if (deviceChannels.size() > 1) { |
| | | // 数据去重 |
| | | Set<String> gbIdSet = new HashSet<>(); |
| | | for (DeviceChannel deviceChannel : deviceChannels) { |
| | | if (!gbIdSet.contains(deviceChannel.getChannelId())) { |
| | | gbIdSet.add(deviceChannel.getChannelId()); |
| | | channels.add(deviceChannel); |
| | | } |
| | | } |
| | | }else { |
| | | channels = deviceChannels; |
| | | } |
| | | outEvent.setDeviceChannels(channels); |
| | | outEvent.setType(type); |
| | | outEvent.setPlatformId(platformId); |
| | | applicationEventPublisher.publishEvent(outEvent); |
| | | } |
| | | |
| | | |
| | | public void catalogEventPublishForStream(String platformId, List<GbStream> gbStreams, String type) { |
| | | CatalogEvent outEvent = new CatalogEvent(this); |
| | | outEvent.setGbStreams(gbStreams); |
| | | outEvent.setType(type); |
| | | outEvent.setPlatformId(platformId); |
| | | applicationEventPublisher.publishEvent(outEvent); |
| | | } |
| | | |
| | | |
| | | 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); |
| | | } |
| | | |
| | | } |