| 
						
						
							
								
							
						
						
					 | 
					@ -37,6 +37,7 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private final int EVENT_AI = 1; | 
					 | 
					 | 
					    private final int EVENT_AI = 1; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private final int EVENT_STATE = 1; | 
					 | 
					 | 
					    private final int EVENT_STATE = 1; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private final int EVENTEND_STATE = 4; | 
					 | 
					 | 
					    private final int EVENTEND_STATE = 4; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    private final int VISIBILITY_LEVEL = 8; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private final Logger logger = LoggerFactory.getLogger(this.getClass()); | 
					 | 
					 | 
					    private final Logger logger = LoggerFactory.getLogger(this.getClass()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Resource | 
					 | 
					 | 
					    @Resource | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -113,7 +114,7 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // 气象检测器
 | 
					 | 
					 | 
					        // 气象检测器
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (IotProductEnum.WEATHER_DETECTOR.value().equals(productId)) { | 
					 | 
					 | 
					        if (IotProductEnum.WEATHER_DETECTOR.value().equals(productId)) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            weatherDetectorMessageHandle(data); | 
					 | 
					 | 
					            weatherDetectorMessageHandle(data); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
								 return; | 
					 | 
					 | 
					            return; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // 护栏碰撞
 | 
					 | 
					 | 
					        // 护栏碰撞
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -168,8 +169,13 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            dcWarning.setWarningTime(new Date(captureTime)); | 
					 | 
					 | 
					            dcWarning.setWarningTime(new Date(captureTime)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            // 信息来源
 | 
					 | 
					 | 
					            // 信息来源
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            dcWarning.setWarningSource(WarningSourceEnum.VIDEO_AI.getCode()); | 
					 | 
					 | 
					            dcWarning.setWarningSource(WarningSourceEnum.VIDEO_AI.getCode()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            // 事件主类型
 | 
					 | 
					 | 
					            // 事件主类型
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            dcWarning.setWarningType(data.getInteger("warningType")); | 
					 | 
					 | 
					            dcWarning.setWarningType(data.getInteger("warningType")); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            //异常天气等级
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (data.getInteger("warningType") == VISIBILITY_LEVEL) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                dcWarning.setWarningLevel(data.getInteger("visibilityLevel")); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            String warningSubclass = data.getString("warningSubclass"); | 
					 | 
					 | 
					            String warningSubclass = data.getString("warningSubclass"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            // 子类型
 | 
					 | 
					 | 
					            // 子类型
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -181,10 +187,10 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            //方向
 | 
					 | 
					 | 
					            //方向
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            if (arr[2] != null) { | 
					 | 
					 | 
					            if (arr[2] != null) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                if (arr[2].equals("上行")) { | 
					 | 
					 | 
					                if (arr[2].equals("上行")) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                    direction=arr[0]+" "+arr[1]+ " 菏泽方向 "; | 
					 | 
					 | 
					                    direction = arr[0] + " " + arr[1] + " 菏泽方向 "; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                } | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                if (arr[2].equals("下行")) { | 
					 | 
					 | 
					                if (arr[2].equals("下行")) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                    direction=arr[0]+" "+arr[1]+ " 济南方向 "; | 
					 | 
					 | 
					                    direction = arr[0] + " " + arr[1] + " 济南方向 "; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            } | 
					 | 
					 | 
					            } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -349,7 +355,7 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @param msg 设备消息 | 
					 | 
					 | 
					     * @param msg 设备消息 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private void oneStopDeviceMessageHandle(JSONObject msg) { | 
					 | 
					 | 
					    private void oneStopDeviceMessageHandle(JSONObject msg) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					         dcTrafficSectionDataService.processRealtimeOneStopMessage(msg); | 
					 | 
					 | 
					        dcTrafficSectionDataService.processRealtimeOneStopMessage(msg); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -445,12 +451,12 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private void weatherDetectorMessageHandle(JSONObject msg) { | 
					 | 
					 | 
					    private void weatherDetectorMessageHandle(JSONObject msg) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      //  DcMeteorologicalDetectorData meteorologicalDetectorData = (DcMeteorologicalDetectorData) msg.get("properties");
 | 
					 | 
					 | 
					        //  DcMeteorologicalDetectorData meteorologicalDetectorData = (DcMeteorologicalDetectorData) msg.get("properties");
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        JSONObject jsonObject = (JSONObject) msg.get("properties"); | 
					 | 
					 | 
					        JSONObject jsonObject = (JSONObject) msg.get("properties"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        DcMeteorologicalDetectorData meteorologicalDetectorData = jsonObject.toJavaObject(DcMeteorologicalDetectorData.class); | 
					 | 
					 | 
					        DcMeteorologicalDetectorData meteorologicalDetectorData = jsonObject.toJavaObject(DcMeteorologicalDetectorData.class); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        JSONObject jsonObjectHeaders = (JSONObject)msg.get("headers"); | 
					 | 
					 | 
					        JSONObject jsonObjectHeaders = (JSONObject) msg.get("headers"); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        String parts = jsonObjectHeaders.getString("deviceName"); | 
					 | 
					 | 
					        String parts = jsonObjectHeaders.getString("deviceName"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        String[] strings = parts.split("-"); | 
					 | 
					 | 
					        String[] strings = parts.split("-"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        String deviceName = strings[0]; | 
					 | 
					 | 
					        String deviceName = strings[0]; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -474,19 +480,19 @@ public class DeviceMessageHandler { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        mdDeviceData.setTimeStamp(new Date()); | 
					 | 
					 | 
					        mdDeviceData.setTimeStamp(new Date()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        mdDeviceData.setCreatorUserId("自动存储"); | 
					 | 
					 | 
					        mdDeviceData.setCreatorUserId("自动存储"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        Map<String,Object> expands = new HashMap<>(); | 
					 | 
					 | 
					        Map<String, Object> expands = new HashMap<>(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("rainFall",meteorologicalDetectorData.getRainfall()); //雨量
 | 
					 | 
					 | 
					        expands.put("rainFall", meteorologicalDetectorData.getRainfall()); //雨量
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("windDirection",meteorologicalDetectorData.getWindDirection()); //风向
 | 
					 | 
					 | 
					        expands.put("windDirection", meteorologicalDetectorData.getWindDirection()); //风向
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("windSpeed",meteorologicalDetectorData.getWindSpeed()); //风速
 | 
					 | 
					 | 
					        expands.put("windSpeed", meteorologicalDetectorData.getWindSpeed()); //风速
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("temperature",meteorologicalDetectorData.getTemperature()); //大气温度
 | 
					 | 
					 | 
					        expands.put("temperature", meteorologicalDetectorData.getTemperature()); //大气温度
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("humidity",meteorologicalDetectorData.getHumidity()); //大气湿度
 | 
					 | 
					 | 
					        expands.put("humidity", meteorologicalDetectorData.getHumidity()); //大气湿度
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("airPressure",meteorologicalDetectorData.getAtmosphericPressure()); //气压
 | 
					 | 
					 | 
					        expands.put("airPressure", meteorologicalDetectorData.getAtmosphericPressure()); //气压
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("waterThick",meteorologicalDetectorData.getWaterFilmIceSnowValue()); //水膜厚度
 | 
					 | 
					 | 
					        expands.put("waterThick", meteorologicalDetectorData.getWaterFilmIceSnowValue()); //水膜厚度
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("wet",meteorologicalDetectorData.getWetSlipperyCoefficient()); //湿滑
 | 
					 | 
					 | 
					        expands.put("wet", meteorologicalDetectorData.getWetSlipperyCoefficient()); //湿滑
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("rainXingTai",meteorologicalDetectorData.getPrecipitationType()); //雨量降水形态
 | 
					 | 
					 | 
					        expands.put("rainXingTai", meteorologicalDetectorData.getPrecipitationType()); //雨量降水形态
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("visibility",meteorologicalDetectorData.getVisibility()); //能见度
 | 
					 | 
					 | 
					        expands.put("visibility", meteorologicalDetectorData.getVisibility()); //能见度
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("remoteRoadSurfaceTemperature",meteorologicalDetectorData.getRemoteRoadSurfaceTemperature()); //路面温度
 | 
					 | 
					 | 
					        expands.put("remoteRoadSurfaceTemperature", meteorologicalDetectorData.getRemoteRoadSurfaceTemperature()); //路面温度
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        expands.put("pathContactZhuang",meteorologicalDetectorData.getRemoteRoadSurfaceStatus()); //路面状况
 | 
					 | 
					 | 
					        expands.put("pathContactZhuang", meteorologicalDetectorData.getRemoteRoadSurfaceStatus()); //路面状况
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        mdDeviceData.setExpands(JSONObject.toJSONString(expands)); | 
					 | 
					 | 
					        mdDeviceData.setExpands(JSONObject.toJSONString(expands)); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |