From bb6f09aeedfd58b871ad0afa08392056da39e77f Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期一, 24 四月 2023 19:06:10 +0800
Subject: [PATCH] 国际化告警滚动

---
 src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java b/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java
index 0715712..f1ef487 100644
--- a/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java
+++ b/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java
@@ -1,12 +1,12 @@
 package com.whyc.webSocket;
 
-import com.whyc.dto.InterfaceParam;
+import com.whyc.config.WebSocketConfig;
 import com.whyc.dto.Response;
 import com.whyc.service.InterfaceService;
-import com.whyc.util.ActionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import javax.servlet.http.HttpSession;
 import javax.websocket.*;
 import javax.websocket.server.PathParam;
 import javax.websocket.server.ServerEndpoint;
@@ -15,35 +15,40 @@
 import java.util.Map;
 
 @Component
-@ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}",encoders = WebSocketEncoder.class)
+@ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
 public class InterfaceAlarmSocket {
     private volatile Thread thread;
 
     private static final int executeTime = 10000;
 
-    private volatile boolean runFlag=true;
+    private volatile boolean runFlag = true;
 
-    private volatile Map<String,Thread> threadMap = new HashMap<>();
+    private volatile Map<String, Thread> threadMap = new HashMap<>();
 
-    private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>();
+    private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>();
 
     private static InterfaceService service;
 
     private Session session;
+
+    private HttpSession httpSession;
+
     @Autowired
-    public void setService(InterfaceService service){
+    public void setService(InterfaceService service) {
         InterfaceAlarmSocket.service = service;
     }
 
     @OnOpen
-    public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber){
-        this.session=session;
+    public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber, EndpointConfig config) {
+        this.session = session;
+        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
+        String lang = (String) this.httpSession.getAttribute("lang");
         Thread thread = new Thread() {
             @Override
             public void run() {
                 try {
                     while (!currentThread().isInterrupted()) {
-                        Response res = service.getAlarmDiffMap(interfaceNumber);
+                        Response res = service.getAlarmDiffMap(interfaceNumber, lang);
                         session.getBasicRemote().sendObject(res);
                         sleep(4000);
                     }

--
Gitblit v1.9.1