EventPublisher.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.genersoft.iot.vmp.gb28181.event;
  2. import com.genersoft.iot.vmp.gb28181.bean.Device;
  3. import com.genersoft.iot.vmp.gb28181.event.platformKeepaliveExpire.PlatformKeepaliveExpireEvent;
  4. import com.genersoft.iot.vmp.gb28181.event.platformNotRegister.PlatformNotRegisterEvent;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.context.ApplicationEventPublisher;
  7. import org.springframework.stereotype.Component;
  8. import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
  9. import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEvent;
  10. import com.genersoft.iot.vmp.gb28181.event.offline.OfflineEvent;
  11. import com.genersoft.iot.vmp.gb28181.event.online.OnlineEvent;
  12. /**
  13. * @Description:Event事件通知推送器,支持推送在线事件、离线事件
  14. * @author: swwheihei
  15. * @date: 2020年5月6日 上午11:30:50
  16. */
  17. @Component
  18. public class EventPublisher {
  19. @Autowired
  20. private ApplicationEventPublisher applicationEventPublisher;
  21. public void onlineEventPublish(Device device, String from) {
  22. OnlineEvent onEvent = new OnlineEvent(this);
  23. onEvent.setDevice(device);
  24. onEvent.setFrom(from);
  25. applicationEventPublisher.publishEvent(onEvent);
  26. }
  27. public void outlineEventPublish(String deviceId, String from){
  28. OfflineEvent outEvent = new OfflineEvent(this);
  29. outEvent.setDeviceId(deviceId);
  30. outEvent.setFrom(from);
  31. applicationEventPublisher.publishEvent(outEvent);
  32. }
  33. /**
  34. * 平台心跳到期事件
  35. * @param platformGbId
  36. */
  37. public void platformKeepaliveExpireEventPublish(String platformGbId){
  38. PlatformKeepaliveExpireEvent platformNotRegisterEvent = new PlatformKeepaliveExpireEvent(this);
  39. platformNotRegisterEvent.setPlatformGbID(platformGbId);
  40. applicationEventPublisher.publishEvent(platformNotRegisterEvent);
  41. }
  42. /**
  43. * 平台未注册事件
  44. * @param platformGbId
  45. */
  46. public void platformNotRegisterEventPublish(String platformGbId){
  47. PlatformNotRegisterEvent platformNotRegisterEvent = new PlatformNotRegisterEvent(this);
  48. platformNotRegisterEvent.setPlatformGbID(platformGbId);
  49. applicationEventPublisher.publishEvent(platformNotRegisterEvent);
  50. }
  51. /**
  52. * 设备报警事件
  53. * @param deviceAlarm
  54. */
  55. public void deviceAlarmEventPublish(DeviceAlarm deviceAlarm) {
  56. AlarmEvent alarmEvent = new AlarmEvent(this);
  57. alarmEvent.setAlarmInfo(deviceAlarm);
  58. applicationEventPublisher.publishEvent(alarmEvent);
  59. }
  60. }