From b08492fcb6706124bef6e86cd6914c8eba54599a Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期五, 02 二月 2024 16:14:18 +0800
Subject: [PATCH] 三一车辆追踪加入启动即推送提交
---
ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java | 10 ++++++++++
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 6 ++++--
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 18 ++++++++++++++++++
3 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java
index 5075feb..6a58728 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java
@@ -12,6 +12,8 @@
private static Map<String, Map<String,Map<String,Object>>> userPositionMap = new HashMap();//渚濈敤鎴峰瓨鏀惧疄鏂借溅杈嗕綅缃�:userId锛宑arId锛岃溅杈嗕綅缃�
+ private static Map<String,Map<String,Object>> carPositionMap = new HashMap();//渚濊溅杈嗗瓨鏀惧疄鏂借溅杈嗕綅缃�:carId锛岃溅杈嗕綅缃�
+
public static Map<String, List<ArdSyCarLock>> getTopicSubscribe() {
return topicSubscribe;
}
@@ -38,4 +40,12 @@
public static synchronized void setUserPositionMap(Map<String, Map<String, Map<String, Object>>> userPositionMap) {
PositionContainer.userPositionMap = userPositionMap;
}
+
+ public static Map<String, Map<String, Object>> getCarPositionMap() {
+ return carPositionMap;
+ }
+
+ public static void setCarPositionMap(Map<String, Map<String, Object>> carPositionMap) {
+ PositionContainer.carPositionMap = carPositionMap;
+ }
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
index da4c163..c8d2867 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -372,7 +372,7 @@
}
//娓呮筏缁撴潫------------
- /*gpsMap.putAll(result);
+ gpsMap.putAll(result);
String ancestors = (String) gpsMap.get("ancestors");//鑾峰彇鐖剁骇閮ㄩ棬
String[] ancestorsArray = ancestors.split(",");
if(ancestorsArray.length == 1){//鏈�楂樼骇閮ㄩ棬
@@ -408,7 +408,9 @@
deptMapp.put((String)gpsMap.get("carId"),gpsMap);
}
}
- }*/
+ }
+ //瀛樺叆瀹炴椂浣嶇疆瀹瑰櫒
+ PositionContainer.getCarPositionMap().put(carId,gpsMap);
//瀛樺叆鐢ㄦ埛瀹瑰櫒
if(PositionContainer.getUserPositionMap().size() != 0){
for(String userId : PositionContainer.getUserPositionMap().keySet()){
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 fced250..b2642f3 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
@@ -960,6 +960,15 @@
Map<String, Map<String, Object>> map = new HashMap();
map.put(carId, new HashMap());
PositionContainer.getUserPositionMap().put(usersId, map);
+ Map<String, Object> position = PositionContainer.getCarPositionMap().get(carId);//鏌ヨ褰撳墠杞﹁締浣嶇疆
+ if (position != null) {
+ if (position.size() != 0) {
+ Map<String, Map<String, Object>> data = new HashMap();
+ data.put("31000", position);
+ WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sessionId), JSON.toJSONString(data));
+ }
+ }
+
Date date = new Date();
Timer carPositionTimer = new Timer(sessionId);//瀹氭椂鎺ㄩ�佸疄鏃朵綅缃�
TimerTask carPositionTask = new TimerTask() {
@@ -991,6 +1000,15 @@
Map<String, Map<String, Object>> map = new HashMap();
map.put(carId, new HashMap());
PositionContainer.getUserPositionMap().put(usersId, map);
+ Map<String, Object> position = PositionContainer.getCarPositionMap().get(carId);//鏌ヨ褰撳墠杞﹁締浣嶇疆
+ if (position != null) {
+ if (position.size() != 0) {
+ Map<String, Map<String, Object>> data = new HashMap();
+ data.put("31000", position);
+ WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sessionId), JSON.toJSONString(data));
+ }
+ }
+
Date date = new Date();
Timer carPositionTimer = new Timer(sessionId);//瀹氭椂鎺ㄩ�佸疄鏃朵綅缃�
TimerTask carPositionTask = new TimerTask() {
--
Gitblit v1.9.3