Browse Source

接入数据 增加 设备id 为null 判断

jianghouwei 6 years ago
parent
commit
244878729f

+ 16 - 10
src/main/java/com/tidecloud/dataacceptance/service/impl/WatchJWServerHandler.java

@@ -60,14 +60,20 @@ public class WatchJWServerHandler extends HexBinaryAcceptanceHandlerAdapter {
 		byte[] req = new byte[in.readableBytes()];
 		byte[] req = new byte[in.readableBytes()];
 		in.readBytes(req);
 		in.readBytes(req);
 		String msg = new String(req, "UTF-8");
 		String msg = new String(req, "UTF-8");
-		String deviceId = channelDeviceMap.get(channel);
-		if (deviceId != null) {
-			MDC.put(MDC_DEVICEID, deviceId);
-		}
-		logger.info("传入数据为:" + msg);
 		try {
 		try {
+			String deviceId = channelDeviceMap.get(channel);
+			logger.info("传入数据为:" + msg);
 			String factory = msg.substring(0, 2);// 工厂
 			String factory = msg.substring(0, 2);// 工厂
 			String type = msg.substring(2, 6);// 标记
 			String type = msg.substring(2, 6);// 标记
+			if (deviceId != null) {
+				MDC.put(MDC_DEVICEID, deviceId);
+			} else {
+				logger.info("该手表没有登录:传入数据为" + msg);
+				if (!"AP00".equals(type)) {
+					logger.info("该手表没有登录:且当前报文不是登录报文,不处理!,return" + msg);
+					return;
+				}
+			}
 			Long time = System.currentTimeMillis();
 			Long time = System.currentTimeMillis();
 			WorkModel workModel = null;
 			WorkModel workModel = null;
 			SwitchWorkModel swm = null;
 			SwitchWorkModel swm = null;
@@ -83,7 +89,7 @@ public class WatchJWServerHandler extends HexBinaryAcceptanceHandlerAdapter {
 					logger.warn("超过指定时间没有收到回复》》》 重新设置");
 					logger.warn("超过指定时间没有收到回复》》》 重新设置");
 					// 更新开关切换时间
 					// 更新开关切换时间
 					swm.setSwitchTime(time);
 					swm.setSwitchTime(time);
-					switchMap.put(deviceId,swm);
+					switchMap.put(deviceId, swm);
 				}
 				}
 			}
 			}
 			switch (type) {
 			switch (type) {
@@ -107,15 +113,15 @@ public class WatchJWServerHandler extends HexBinaryAcceptanceHandlerAdapter {
 						if (swm.getWorkType() == 3) {//  当前设置的模式
 						if (swm.getWorkType() == 3) {//  当前设置的模式
 							if (workModel != null && moderType == 3) {
 							if (workModel != null && moderType == 3) {
 								workModel.setUrgentType(3);
 								workModel.setUrgentType(3);
-								logger.warn("紧急模式设置成功!>>>>>>>>>>>>>>" +msg);
+								logger.warn("紧急模式设置成功!>>>>>>>>>>>>>>" + msg);
 							} else {
 							} else {
-								logger.warn("紧急模式重新设置!>>>>>>>>>>>>>>" );
+								logger.warn("紧急模式重新设置!>>>>>>>>>>>>>>");
 								Thread.sleep(1000);
 								Thread.sleep(1000);
 								normalReplyModel(factory, deviceId, channel, 3);
 								normalReplyModel(factory, deviceId, channel, 3);
 								workModel.setUrgentType(2);
 								workModel.setUrgentType(2);
 								// 更新开关时间
 								// 更新开关时间
 								swm.setSwitchTime(time);
 								swm.setSwitchTime(time);
-								switchMap.put(deviceId,swm);
+								switchMap.put(deviceId, swm);
 							}
 							}
 							modelMap.put(deviceId, workModel);
 							modelMap.put(deviceId, workModel);
 						}
 						}
@@ -163,7 +169,7 @@ public class WatchJWServerHandler extends HexBinaryAcceptanceHandlerAdapter {
 				wm.setUrgentTime(nowTime);// 设置紧急模式时间
 				wm.setUrgentTime(nowTime);// 设置紧急模式时间
 				modelMap.put(deviceId, wm);
 				modelMap.put(deviceId, wm);
 			}
 			}
-		}else{
+		} else {
 			logger.warn("心跳检测是下发模式:工作不更改状态");
 			logger.warn("心跳检测是下发模式:工作不更改状态");
 		}
 		}
 	}
 	}