From ff93a75e1ede2f3a66de84efd822cfa94b0ac821 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 01 二月 2024 15:59:59 +0800
Subject: [PATCH] 三一车辆追踪修改提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 8df1d76..70c35e3 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -963,7 +963,21 @@
                                 if (position.size() != 0) {
                                     Map<String, Map<String, Object>> data = new HashMap();
                                     data.put("31000", position);
-                                    WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(usersId), JSON.toJSONString(data));
+                                    //WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(usersId), JSON.toJSONString(data));
+                                    String sessionId = "";
+                                    for(String key : ONLINE_USER_SESSIONS.keySet()){
+                                        if(key.startsWith(usersId + "_")){
+                                            sessionId = key;
+                                        }
+                                    }
+                                    if(sessionId.equals("")){//鐢ㄦ埛绂荤嚎閲婃斁璧勬簮
+                                        if (userCarTimerMap.get(usersId) != null) {
+                                            userCarTimerMap.get(usersId).cancel();
+                                            userCarTimerMap.remove(usersId);
+                                            PositionContainer.getUserPositionMap().remove(usersId);
+                                        }
+                                    }
+                                    WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sessionId), JSON.toJSONString(data));
                                 }
                             }
                         }
@@ -985,7 +999,21 @@
                                 if (position.size() != 0) {
                                     Map<String, Map<String, Object>> data = new HashMap();
                                     data.put("31000", position);
-                                    WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(usersId), JSON.toJSONString(data));
+                                    //WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(usersId), JSON.toJSONString(data));
+                                    String sessionId = "";
+                                    for(String key : ONLINE_USER_SESSIONS.keySet()){
+                                        if(key.startsWith(usersId + "_")){
+                                            sessionId = key;
+                                        }
+                                    }
+                                    if(sessionId.equals("")){//鐢ㄦ埛绂荤嚎閲婃斁璧勬簮
+                                        if (userCarTimerMap.get(usersId) != null) {
+                                            userCarTimerMap.get(usersId).cancel();
+                                            userCarTimerMap.remove(usersId);
+                                            PositionContainer.getUserPositionMap().remove(usersId);
+                                        }
+                                    }
+                                    WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sessionId), JSON.toJSONString(data));
                                 }
                             }
                         }

--
Gitblit v1.9.3