From 2e98b20bea4463e4465e3c19059d0744a09aec06 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 14:34:41 +0800
Subject: [PATCH] gb28181版本升级-补充

---
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java
new file mode 100644
index 0000000..d58d431
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java
@@ -0,0 +1,37 @@
+package com.genersoft.iot.vmp.vmanager.gb28181.SseController;
+
+import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEventListener;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
+
+/**
+ * @description: SSE推送
+ * @author: lawrencehj
+ * @data: 2021-01-20
+ */
+@Tag(name  = "SSE推送")
+@CrossOrigin
+@Controller
+@RequestMapping("/api")
+public class SseController {
+    @Autowired
+    AlarmEventListener alarmEventListener;
+
+    @GetMapping("/emit")
+    public SseEmitter emit(@RequestParam String browserId) {
+        final SseEmitter sseEmitter = new SseEmitter(0L);
+        try {
+            alarmEventListener.addSseEmitters(browserId, sseEmitter);
+        }catch (Exception e){
+            sseEmitter.completeWithError(e);
+        }
+        return sseEmitter;
+    }
+}

--
Gitblit v1.9.3