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