zhongrj
2023-07-10 943e5e1fc85c696593ea3b81f7f95e235477b3c0
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);
   }
}