From c3ef8e0cd1acda0d9efcbc954f91b46e5513619f Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期二, 25 四月 2023 08:47:37 +0800
Subject: [PATCH] 国际化最后一次核容终止原因

---
 src/main/java/com/whyc/webSocket/RealTimeWebsocket.java |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/whyc/webSocket/RealTimeWebsocket.java b/src/main/java/com/whyc/webSocket/RealTimeWebsocket.java
index 6ae6bf9..0311445 100644
--- a/src/main/java/com/whyc/webSocket/RealTimeWebsocket.java
+++ b/src/main/java/com/whyc/webSocket/RealTimeWebsocket.java
@@ -1,5 +1,6 @@
 package com.whyc.webSocket;
 
+import com.whyc.config.WebSocketConfig;
 import com.whyc.dto.DeviceTypeDTO;
 import com.whyc.dto.Response;
 import com.whyc.dto.paramter.RealTimePar;
@@ -10,6 +11,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import javax.servlet.http.HttpSession;
 import javax.websocket.*;
 import javax.websocket.server.ServerEndpoint;
 import java.util.HashMap;
@@ -17,7 +19,7 @@
 import java.util.Map;
 
 @Component
-@ServerEndpoint(value = "/RealTime",encoders = WebSocketEncoder.class)
+@ServerEndpoint(value = "/RealTime", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
 public class RealTimeWebsocket {
     private volatile Thread thread;
 
@@ -74,6 +76,8 @@
     private static Fbs9140TopologyStateService fbs9140TopologyStateService;
 
     private Session session;
+
+    private HttpSession httpSession;
 
     @Autowired
     public void setService(BattRtstateService rtstateservice) {
@@ -179,14 +183,16 @@
     }
 
     @OnOpen
-    public void onOpen(Session session) {
+    public void onOpen(Session session, EndpointConfig config) {
         this.session = session;
+        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
     }
 
     @OnMessage
     public void onMessage(Session session, String message) {
         RealTimePar realTimePar = ActionUtil.getGson().fromJson(message, RealTimePar.class);
         realTimePar.setDevType(realTimePar.getDevId() / 100000);
+        String lang = (String) this.httpSession.getAttribute("lang");
         thread = new Thread("Thread_RealTime") {
             @Override
             public void run() {
@@ -197,7 +203,7 @@
                         Response res = new Response();
                         switch (realTimePar.getPageType()) {
                             case "standard":
-                                res = getStandard(realTimePar);
+                                res = getStandard(realTimePar, lang);
                                 break;
                             case "a059":
                                 res = getA059(realTimePar);
@@ -236,10 +242,10 @@
                                 res = getKgdy(realTimePar);
                                 break;
                             case "paralle":
-                                res = getParalle(realTimePar);
+                                res = getParalle(realTimePar, lang);
                                 break;
                             case "paralle9149":
-                                res = getParalle9149(realTimePar);
+                                res = getParalle9149(realTimePar, lang);
                                 break;
                         }
                         //瀹炴椂鏄剧ず璋冩暣,澧炲姞鐢垫睜鏁伴噺,鏍囩О鍗曚綋鐢靛帇,閾呴吀杩樻槸閿傜數锛屾斁缃簬杩斿洖缁撴灉鐨刣ata2
@@ -386,7 +392,7 @@
     }
 
     //骞惰仈鐢垫簮鐨勫疄鏃堕〉闈俊鎭�
-    public Response getParalle(RealTimePar realTimePar) {
+    public Response getParalle(RealTimePar realTimePar, String lang) {
         Map<String, Response> res = new HashMap<>();
         //鏌ヨfbs9100淇℃伅
         Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId());
@@ -407,13 +413,13 @@
         Response rsalarmRes = rsalarmService.getInfo(realTimePar.getBattGroupId());
         res.put("rsalarm", rsalarmRes);
         //鏈�鍚庝竴娆℃牳瀹规斁鐢垫暟鎹�
-        Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId());
+        Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang);
         res.put("tinfdata", tinfRes);
         return new Response().set(1, res);
     }
 
     //骞惰仈鐢垫簮鐨勫疄鏃堕〉闈俊鎭�
-    public Response getParalle9149(RealTimePar realTimePar) {
+    public Response getParalle9149(RealTimePar realTimePar, String lang) {
         Map<String, Response> res = new HashMap<>();
         //鏌ヨfbs9100淇℃伅
         Response f9100stateRes = f9100service.serchContactorState(realTimePar.getDevId());
@@ -434,13 +440,13 @@
         Response rsalarmRes = rsalarmService.getInfo(realTimePar.getBattGroupId());
         res.put("rsalarm", rsalarmRes);
         //鏈�鍚庝竴娆℃牳瀹规斁鐢垫暟鎹�
-        Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId());
+        Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang);
         res.put("tinfdata", tinfRes);
         return new Response().set(1, res);
     }
 
     //鏍囧噯鐨勫疄鏃堕〉闈俊鎭�
-    public Response getStandard(RealTimePar realTimePar) {
+    public Response getStandard(RealTimePar realTimePar, String lang) {
         Map<String, Response> res = new HashMap<>();
         if (realTimePar.getDevType() == DeviceTypeDTO.DEVICELD94019) {//ld-9
             //ld-9鏁版嵁
@@ -486,7 +492,7 @@
             res.put("li9130", li9130Res);
         }
         //鏈�鍚庝竴娆℃牳瀹规斁鐢垫暟鎹�
-        Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId());
+        Response tinfRes = batttestDataInfService.searchBattLastHrDataById(realTimePar.getBattGroupId(), realTimePar.getDevId(), lang);
         res.put("tinfdata", tinfRes);
         return new Response().set(1, res);
     }

--
Gitblit v1.9.1