From 6c05d0bde1a620e355d8543e909d99e6487e333c Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 04 Mar 2023 11:19:28 +0800
Subject: [PATCH] 执法记录仪移动位置插入新增

---
 src/main/java/com/genersoft/iot/vmp/netty/handle/UdpServerHandler.java |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/netty/handle/UdpServerHandler.java b/src/main/java/com/genersoft/iot/vmp/netty/handle/UdpServerHandler.java
index c58809f..5f22349 100644
--- a/src/main/java/com/genersoft/iot/vmp/netty/handle/UdpServerHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/netty/handle/UdpServerHandler.java
@@ -1,5 +1,7 @@
 package com.genersoft.iot.vmp.netty.handle;
 
+import com.genersoft.iot.vmp.netty.business.entity.TalkBackEquipment;
+import com.genersoft.iot.vmp.netty.business.service.TalkBackEquipmentService;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.SimpleChannelInboundHandler;
@@ -7,7 +9,12 @@
 import io.netty.util.CharsetUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
 
 /**
  * updHandler udp 服务端数据接收处理
@@ -18,6 +25,18 @@
 public class UdpServerHandler extends SimpleChannelInboundHandler<DatagramPacket> {
 	private Logger logger = LoggerFactory.getLogger(this.getClass());
 
+	private static UdpServerHandler udpServerHandler;
+
+	@Autowired
+	private TalkBackEquipmentService talkBackEquipmentService;
+
+
+	@PostConstruct
+	public void init() {
+		udpServerHandler = this;
+		udpServerHandler.talkBackEquipmentService = this.talkBackEquipmentService;
+	}
+
 	@Override
 	protected void channelRead0(ChannelHandlerContext channelHandlerContext, DatagramPacket datagramPacket) throws Exception {
 		// 读取收到的数据
@@ -26,9 +45,49 @@
 		buf.readBytes(req);
 		String body = new String(req, CharsetUtil.UTF_8);
 		System.out.println("【UDP】>>>>>> 收到客户端的数据:"+body);
+		//获取字符串的长度
+		int length = body.length();
+		System.out.println("数据长度>>>>>> = " + length);
+		//保存数据
+		saveTalkBackEquipmentInfo(body);
+
 	}
 
-	//捕获异常
+	/**
+	 * 保存设备数据
+	 * @param body
+	 */
+	@Async
+	public void saveTalkBackEquipmentInfo(String body) {
+		TalkBackEquipment equipmentRecord = new TalkBackEquipment();
+		equipmentRecord.setName("ces");
+		equipmentRecord.setCode("cs123456");
+		equipmentRecord.setStatus(1);
+		equipmentRecord.setUnitName("CSDW");
+		equipmentRecord.setUnitCode("CSDW123456");
+		equipmentRecord.setPoliceName("JINGYUAN");
+		equipmentRecord.setPoliceCode("JINGYUAN123456");
+		equipmentRecord.setTerminalNumber("788888888888");
+		equipmentRecord.setType(1);
+		equipmentRecord.setLongitude("128.124124412");
+		equipmentRecord.setLatitude("27.1224521421");
+		equipmentRecord.setSpeed("10");
+		equipmentRecord.setDirection("10");
+		equipmentRecord.setElevation("10");
+		equipmentRecord.setPrecisions("10");
+		equipmentRecord.setReceiveTime(new Date());
+		equipmentRecord.setCreateTime(new Date());
+		equipmentRecord.setUpdateTime(new Date());
+		//保存数据
+		udpServerHandler.talkBackEquipmentService.save(equipmentRecord);
+	}
+
+	/**
+	 * 捕获异常
+	 * @param ctx
+	 * @param cause
+	 * @throws Exception
+	 */
 	@Override
 	public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause)throws Exception {
 		logger.error("UdpServerHandler exceptionCaught"+cause.getMessage());
@@ -37,7 +96,11 @@
 		ctx.close();
 	}
 
-	//消息没有结束的时候触发
+	/**
+	 * 消息没有结束的时候触发
+	 * @param ctx
+	 * @throws Exception
+	 */
 	@Override
 	public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
 		ctx.flush();

--
Gitblit v1.9.3