From 83f08194fb16c5feea1b05d682120fe76d599775 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 05 Mar 2021 17:45:41 +0800
Subject: [PATCH] 体温数据接口

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java |  191 +++++++++++++++++++++++------------------------
 1 files changed, 92 insertions(+), 99 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
index 691565b..4206e9c 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -9,6 +9,7 @@
 import org.springblade.jfpt.Netty.service.nettyService;
 import org.springblade.jfpt.alarm.entity.Alarm;
 import org.springblade.jfpt.alarm.service.IAlarmService;
+import org.springblade.jfpt.animalheat.service.AnimalHeatService;
 import org.springblade.jfpt.catalog.service.catalogService;
 import org.springblade.jfpt.equipment.service.IEquipmentService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,9 @@
 
 	@Autowired
 	private IEquipmentService equipmentService;
+
+	@Autowired
+	private AnimalHeatService animalHeatService;
 
 	@Autowired
 	private IAlarmService alarmService;
@@ -102,146 +106,135 @@
 		String body = new String(req, "UTF-8");
 		String content = body;
 		System.out.println("接收客户端数据:" + body);
-		String ChannelName = content.substring(10, 22);//设备编码
-		String sub = content.substring(23, 27);
-		ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
-		if (channelHashMap==null){
-			if (!sub.equals("VIMO")){
-				// 保存当前连接
-				ChannelMap.addChannel(ChannelName,channelHandlerContext.channel());
+		//获取字符串的长度
+		int length = content.length();
+		//当字符串长度大于200时,采集体温数据,小于则采集报警数据
+		if (length>200){
+			//只有数据长度大于300时,采集体温数据  200-300 之间为心跳数据,当前不采集
+			if (length>250){
+				//插入数据
+				serverHandler.animalHeatService.save(body);
 			}
-		}
-		else {
-			Channel channel = ChannelMap.getChannelByName(ChannelName);
-			if (channel!=channelHandlerContext.channel()|| channel==null){
-				if (!sub.equals("VIMO")){
+		}else {
+			String ChannelName = content.substring(10, 22);//设备编码
+			String sub = content.substring(23, 27);
+			ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
+			if (channelHashMap == null) {
+				if (!sub.equals("VIMO")) {
 					// 保存当前连接
-					ChannelMap.addChannel(ChannelName,channelHandlerContext.channel());
+					ChannelMap.addChannel(ChannelName, channelHandlerContext.channel());
+				}
+			} else {
+				Channel channel = ChannelMap.getChannelByName(ChannelName);
+				if (channel != channelHandlerContext.channel() || channel == null) {
+					if (!sub.equals("VIMO")) {
+						// 保存当前连接
+						ChannelMap.addChannel(ChannelName, channelHandlerContext.channel());
+					}
 				}
 			}
-		}
 
-		List<String> outData = new ArrayList<>();
-		switch (content.substring(0, 2))
-		{
-			case "LA":
-			{
-				String devId = content.substring(10, 22);
-				String fqbm = content.substring(24, 26);
-				List<Map<String, Object>> list = serverHandler.equipmentService.selectInfos(devId);
-				Alarm alarm= new Alarm();
-				alarm.setAlarmType("一键报警");
-				alarm.setGalarmPeople("报警主机");
-				Date day = new Date();
-				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-				alarm.setAlarmTime(df.format(day));
-				alarm.setPlace((String) list.get(0).get("streeName"));//事发地址
-				alarm.setDeviceNumber((String) list.get(0).get("deviceNumber"));//设备编号
-				alarm.setDistrict((String) list.get(0).get("district"));//县区
-				alarm.setProvince((String) list.get(0).get("province"));//市
-				alarm.setCity((String) list.get(0).get("city"));
-				alarm.setJd((String) list.get(0).get("jd"));//经度
-				alarm.setWd((String) list.get(0).get("wd"));//纬度
-				alarm.setJtype("0");
-				if (fqbm.equals("00")){
-                 alarm.setWaringType("旁路");
-				}
-				else if(fqbm.equals("01")){
-					alarm.setWaringType("火警");
-				}
-				else if(fqbm.equals("02")){
-					alarm.setWaringType("挟持");
-				}
-				else if(fqbm.equals("03")){
-					alarm.setWaringType("紧急");
-				}
-				else if(fqbm.equals("04")){
-					alarm.setWaringType("救护");
-				}
-				else if(fqbm.equals("05")){
-					alarm.setWaringType("内部");
-				}
-				else if(fqbm.equals("06")){
-					alarm.setWaringType("出入");
-				}
-				else if(fqbm.equals("07")){
-					alarm.setWaringType("周边");
-				}
-				else {
-					alarm.setWaringType("防拆");
-				}
-				serverHandler.alarmService.s(alarm);
-				outData.add("LEOK#@");
+			List<String> outData = new ArrayList<>();
+			switch (content.substring(0, 2)) {
+				case "LA": {
+					String devId = content.substring(10, 22);
+					String fqbm = content.substring(24, 26);
+					List<Map<String, Object>> list = serverHandler.equipmentService.selectInfos(devId);
+					Alarm alarm = new Alarm();
+					alarm.setAlarmType("一键报警");
+					alarm.setGalarmPeople("报警主机");
+					Date day = new Date();
+					SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+					alarm.setAlarmTime(df.format(day));
+					alarm.setPlace((String) list.get(0).get("streeName"));//事发地址
+					alarm.setDeviceNumber((String) list.get(0).get("deviceNumber"));//设备编号
+					alarm.setDistrict((String) list.get(0).get("district"));//县区
+					alarm.setProvince((String) list.get(0).get("province"));//市
+					alarm.setCity((String) list.get(0).get("city"));
+					alarm.setJd((String) list.get(0).get("jd"));//经度
+					alarm.setWd((String) list.get(0).get("wd"));//纬度
+					alarm.setJtype("0");
+					if (fqbm.equals("00")) {
+						alarm.setWaringType("旁路");
+					} else if (fqbm.equals("01")) {
+						alarm.setWaringType("火警");
+					} else if (fqbm.equals("02")) {
+						alarm.setWaringType("挟持");
+					} else if (fqbm.equals("03")) {
+						alarm.setWaringType("紧急");
+					} else if (fqbm.equals("04")) {
+						alarm.setWaringType("救护");
+					} else if (fqbm.equals("05")) {
+						alarm.setWaringType("内部");
+					} else if (fqbm.equals("06")) {
+						alarm.setWaringType("出入");
+					} else if (fqbm.equals("07")) {
+						alarm.setWaringType("周边");
+					} else {
+						alarm.setWaringType("防拆");
+					}
+					serverHandler.alarmService.s(alarm);
+					outData.add("LEOK#@");
 
-				break;
-			}
-			case "LD":
-			{
+					break;
+				}
+				case "LD": {
 //				if (Pattern.matches(content, reg_LD))
-				   String deviceNumber = content.substring(10, 22);
+					String deviceNumber = content.substring(10, 22);
 					String keyword = content.substring(23, 27);
 					System.out.println(keyword);
-					switch(keyword)
-					{
-						case "IMEI":
-						{
+					switch (keyword) {
+						case "IMEI": {
 							Date d = new Date();
 							SimpleDateFormat sbf = new SimpleDateFormat("MMddHHmm");
 							outData.add("LC8C0470" + sbf.format(d) + "#@" + "LEOK#@");
 							outData.add("LEOK#@");
 							break;
 						}
-						case "SRTC":
-						{
+						case "SRTC": {
 							Date d = new Date();
 							SimpleDateFormat sbf = new SimpleDateFormat("yyyyMMddHHmmss");
 							outData.add("LEOK#@");
 							outData.add("LC8C0700" + sbf.format(d) + "#@");
 							break;
 						}
-						case "STAS":
-						{
+						case "STAS": {
 							outData.add("LEOK#@");
-							outData.add("LC8100001E"+ "#@");
+							outData.add("LC8100001E" + "#@");
 							break;
 						}
-						case "TEST":
-						{
+						case "TEST": {
 							Date d = new Date();
 							SimpleDateFormat sbf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 							String format = sbf.format(d);
-							serverHandler.equipmentService.updateChannel(format,deviceNumber);
+							serverHandler.equipmentService.updateChannel(format, deviceNumber);
 							outData.add("LEOK#@");
 							outData.add("LEON#@");
 							break;
 						}
-						case "COMM":
-						{
+						case "COMM": {
 							outData.add("LEOK#@");
 							break;
 						}
-						default:
-						{
+						default: {
 							outData.add("LEOK#@");
 							break;
 						}
 					}
 
-				break;
-			}
-			case "LB":
-			{
+					break;
+				}
+				case "LB": {
 					outData.add("LEOK#@");
-				break;
+					break;
+				}
 			}
-		}
-		if(outData.size() == 0)
-		{
-			outData.add("LERR#@");
-		}
-		for (int i = 0; i < outData.size(); i++)
-		{
-			channelHandlerContext.writeAndFlush(Unpooled.copiedBuffer(outData.get(i), CharsetUtil.UTF_8));
+			if (outData.size() == 0) {
+				outData.add("LERR#@");
+			}
+			for (int i = 0; i < outData.size(); i++) {
+				channelHandlerContext.writeAndFlush(Unpooled.copiedBuffer(outData.get(i), CharsetUtil.UTF_8));
+			}
 		}
 
 

--
Gitblit v1.9.3