/** * 缓存位置信息汇报时间点,判断位置汇报数据是否顺序报送,排除补报数据干扰 * * @return */ private boolean isSort(VehicleMessageBean vehicleMessage) { if (vehicleMessage == null) { return false; } String msgType = vehicleMessage.getMsgType(); if ("0".equals(msgType) || "1".equals(msgType)) { String vid = vehicleMessage.getVid(); Long utc = vehicleMessage.getUtc(); if (utc == null) { return false; } String key = vid + "_utc"; if (!tmpCache.containsKey(key)) { tmpCache.put(key, utc); return true; } if (utc >= (tmpCache.get(key))) { tmpCache.put(key, utc); return true; } else { // 补传位置信息汇报数据返回false return false; } } return true; }