From 943e5e1fc85c696593ea3b81f7f95e235477b3c0 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 10 Jul 2023 15:57:34 +0800
Subject: [PATCH] 站内信信息写入,sse连接,断开修改

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sse/controller/SSEController.java |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sse/controller/SSEController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sse/controller/SSEController.java
index 21a0666..69c62bd 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sse/controller/SSEController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sse/controller/SSEController.java
@@ -1,16 +1,25 @@
 package cn.gistack.alerts.sse.controller;
 
+import cn.gistack.alerts.notice.service.impl.NoticeHandle;
 import cn.gistack.alerts.sse.server.SSEServer;
 import cn.gistack.alerts.sse.vo.SseVO;
+import cn.gistack.sm.message.entity.MessageRecord;
+import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Slf4j
 @RestController
 @CrossOrigin
 @RequestMapping("/sse/sse")
+@AllArgsConstructor
 public class SSEController {
+
+	private final NoticeHandle noticeHandle;
 
 	/**
 	 * 建立连接
@@ -19,7 +28,19 @@
 	 */
 	@GetMapping("/connect")
 	public SseEmitter connect(SseVO sse){
-		return SSEServer.connect(sse.getType() + ":" + sse.getUserId());
+		String userId = sse.getType() + ":" + sse.getUserId();
+		return SSEServer.connect(userId);
+	}
+
+	/**
+	 * 断开连接
+	 * @param sse
+	 * @return
+	 */
+	@GetMapping("/disconnect")
+	public void disconnect(SseVO sse){
+		String userId = sse.getType() + ":" + sse.getUserId();
+		SSEServer.removeUser(userId);
 	}
 
 	/**
@@ -27,15 +48,13 @@
 	 * @throws InterruptedException
 	 */
 	@GetMapping("/process")
-	public void sendMessage() throws InterruptedException {
-		SSEServer.sendMessage("web:123","hello!");
-//		for(int i=0; i<=100; i++){
-//			if(i>50&&i<70){
-//				Thread.sleep(500L);
-//			}else{
-//				Thread.sleep(100L);
-//			}
-//			SSEServer.batchSendMessage(String.valueOf(i));
-//		}
+	public void sendMessage(){
+		MessageRecord messageRecord = new MessageRecord();
+		messageRecord.setRecipient("1642816241683865602");
+		messageRecord.setTheme("测试123");
+		messageRecord.setStatus(0);
+		List<MessageRecord> list = new ArrayList<>();
+		list.add(messageRecord);
+		noticeHandle.saveMessageRecord(list);
 	}
 }

--
Gitblit v1.9.3