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