zhangnaisong
2024-02-02 b08492fcb6706124bef6e86cd6914c8eba54599a
三一车辆追踪加入启动即推送提交
已修改3个文件
34 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/gps31/PositionContainer.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,carId,车辆位置
    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;
    }
}
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()){
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() {