From ed71767fdb228c6dc154e585756fb8afb7f531d7 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期六, 22 七月 2023 17:31:25 +0800 Subject: [PATCH] 三一车辆实时位置提交 --- ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java | 4 ++-- ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 24 +++++++++++++++--------- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 11 +++++------ 3 files changed, 22 insertions(+), 17 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 ac30783..10ba5ff 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 @@ -8,11 +8,11 @@ private static Map<String, Map<String,Map<String,Object>>> deptPositionMap = new HashMap();//渚濋儴闂ㄥ瓨鏀惧疄鏂借溅杈嗕綅缃�:deptId锛宑arId锛岃溅杈嗕綅缃� - public static Map<String, Map<String, Map<String,Object>>> getDeptPositionMap() { + public static synchronized Map<String, Map<String, Map<String,Object>>> getDeptPositionMap() { return deptPositionMap; } - public static void setDeptPositionMap(Map<String, Map<String, Map<String,Object>>> deptPositionMap) { + public static synchronized void setDeptPositionMap(Map<String, Map<String, Map<String,Object>>> deptPositionMap) { PositionContainer.deptPositionMap = deptPositionMap; } 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 a08974d..bb667de 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 @@ -84,27 +84,33 @@ Map<String,Map<String,Object>> deptMap = PositionContainer.getDeptPositionMap().get(deptId); if(deptMap == null){ deptMap = new HashMap(); + deptMap.put((String)gpsMap.get("carId"),gpsMap); + PositionContainer.getDeptPositionMap().put(deptId,deptMap); + }else{ + deptMap.put((String)gpsMap.get("carId"),gpsMap); } - deptMap.put((String)gpsMap.get("carId"),gpsMap);//棣栨鍔犲叆瀹瑰櫒锛屽啀娆″幓閲� - PositionContainer.getDeptPositionMap().put(deptId,deptMap); - }else{ + }else{//鍏朵粬閮ㄩ棬 //鍔犲叆鏈儴闂ㄥ鍣� String deptId = String.valueOf(gpsMap.get("deptId")); Map<String,Map<String,Object>> deptMap = PositionContainer.getDeptPositionMap().get(deptId); if(deptMap == null){ deptMap = new HashMap(); + deptMap.put((String)gpsMap.get("carId"),gpsMap); + PositionContainer.getDeptPositionMap().put(deptId,deptMap); + }else{ + deptMap.put((String)gpsMap.get("carId"),gpsMap); } - deptMap.put((String)gpsMap.get("carId"),gpsMap);//棣栨鍔犲叆瀹瑰櫒锛屽啀娆″幓閲� - PositionContainer.getDeptPositionMap().put(deptId,deptMap); //鍔犲叆鐖剁骇閮ㄩ棬瀹瑰櫒 for(int i = 1;i <= ancestorsArray.length - 1;i++){ - String deptIdp = String.valueOf(gpsMap.get(ancestorsArray[i])); + String deptIdp = ancestorsArray[i]; Map<String,Map<String,Object>> deptMapp = PositionContainer.getDeptPositionMap().get(deptIdp); if(deptMapp == null){ deptMapp = new HashMap(); + deptMapp.put((String)gpsMap.get("carId"),gpsMap); + PositionContainer.getDeptPositionMap().put(deptIdp,deptMapp); + }else{ + deptMapp.put((String)gpsMap.get("carId"),gpsMap); } - deptMapp.put((String)gpsMap.get("carId"),gpsMap);//棣栨鍔犲叆瀹瑰櫒锛屽啀娆″幓閲� - PositionContainer.getDeptPositionMap().put(deptIdp,deptMap); } } } @@ -137,7 +143,7 @@ public void sendMassage() { try { PushClientImplPosition client = new PushClientImplPosition(); - client.setLog(false);//鏄惁鎵撳嵃鏄庢枃 + client.setLog(true);//鏄惁鎵撳嵃鏄庢枃 client.setHost(this.ip);//鏈嶅姟鍣↖P client.setPort(10100);//鏈嶅姟鍣ㄧ鍙� client.setUserName(this.userId);//绯荤粺鐢ㄦ埛鍚� 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 800649c..88fd800 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 @@ -371,12 +371,11 @@ SysUser sysUser = userMapper.selectUserById(key); String deptId = String.valueOf(sysUser.getDeptId()); Map<String,Map<String,Object>> map = PositionContainer.getDeptPositionMap().get(deptId); - List<Map<String,Object>> positionList = (List<Map<String, Object>>) map.values(); - if(positionList.size() != 0){ - Map<Integer,Object> data = new HashMap(); - data.put(30000,positionList); - WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(positionList)); - } + System.out.println("/////////////"); + System.out.println(PositionContainer.getDeptPositionMap()); + Map<Integer,Object> data = new HashMap(); + data.put(30000, map.values()); + WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(data)); } } } -- Gitblit v1.9.3