From 8a788a51e44d59c6e9b4f88d603b3b87745dcfd7 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 18 Jan 2025 10:34:51 +0800
Subject: [PATCH] 增加执法记录仪数据读取
---
src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java | 67 +++++++++++++++------------------
1 files changed, 30 insertions(+), 37 deletions(-)
diff --git a/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java b/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java
index fc96f8d..37617dc 100644
--- a/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java
+++ b/src/main/java/org/springblade/modules/netty/handle/UdpServerHandler.java
@@ -7,14 +7,11 @@
import io.netty.util.CharsetUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springblade.modules.netty.business.entity.TalkBackEquipment;
-import org.springblade.modules.netty.business.service.TalkBackEquipmentService;
+import org.springblade.modules.netty.business.entity.DeviceMobilePositionPoliceCamera;
+import org.springblade.modules.netty.business.service.DeviceChannelPoliceCameraService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
import static org.springblade.modules.netty.config.MyDecoder.hexToByte;
import static org.springblade.modules.netty.config.MyDecoder.hexTohort;
import static org.springblade.modules.netty.util.Hex.getDouble;
@@ -32,12 +29,12 @@
private static UdpServerHandler udpServerHandler;
@Autowired
- private TalkBackEquipmentService talkBackEquipmentService;
+ private DeviceChannelPoliceCameraService deviceChannelPoliceCameraService;
@PostConstruct
public void init() {
udpServerHandler = this;
- udpServerHandler.talkBackEquipmentService = this.talkBackEquipmentService;
+ udpServerHandler.deviceChannelPoliceCameraService = this.deviceChannelPoliceCameraService;
}
@Override
@@ -61,30 +58,30 @@
* @param s 16位字符串
*/
private void dataHandler(String s) {
-// s = "AAAACCCC220000000033373933343732393100000000000000000000000052D50451F77D5D406C04E275FD723C400000015F0000000507E70306103B0A";
+ System.out.println("s = " + s);
+ s = "AAAACCCC220000000033373933343732393100000000000000000000000052D50451F77D5D406C04E275FD723C400000015F0000000507E70306103B0A";
+ System.out.println("s = " + s);
//创建设备对象
- TalkBackEquipment backEquipment = new TalkBackEquipment();
- if (s.substring(4,8).equals("CCCC")) {
- backEquipment.setStatus(1);
- }
- //断开连接
- if (s.substring(4,8).equals("FFFF")) {
- backEquipment.setStatus(0);
- }
- //截取字符串
- backEquipment.setTerminalNumber(hexStr2Str(s.substring(20, 60)));
-
- backEquipment.setLongitude(Double.toString(getDouble(s.substring(60, 76))));
-
- backEquipment.setLatitude(Double.toString(getDouble(s.substring(76, 92))));
-
- backEquipment.setSpeed(Short.toString(hexTohort(s.substring(92, 96))));
- backEquipment.setDirection(Short.toString(hexTohort(s.substring(96, 100))));
- backEquipment.setElevation(Short.toString(hexTohort(s.substring(100, 104))));
- backEquipment.setPrecisions(Short.toString(hexTohort(s.substring(104, 108))));
-
+ DeviceMobilePositionPoliceCamera backEquipment = new DeviceMobilePositionPoliceCamera();
+// if (s.substring(4,8).equals("CCCC")) {
+// backEquipment.setStatus(1);
+// }
+// //断开连接
+// if (s.substring(4,8).equals("FFFF")) {
+// backEquipment.setStatus(0);
+// }
+ //截取字符串,并去除后面多余的空格(如果有)
+ backEquipment.setChannelId(hexStr2Str(s.substring(20, 60)).trim());
+ //设置经纬度
+ backEquipment.setLongitude(getDouble(s.substring(60, 76)));
+ backEquipment.setLatitude(getDouble(s.substring(76, 92)));
+ // 设置速度、方向等
+ backEquipment.setSpeed(hexTohort(s.substring(92, 96)));
+ backEquipment.setDirection(hexTohort(s.substring(96, 100)));
+ backEquipment.setAltitude(hexTohort(s.substring(100, 104)));
+ backEquipment.setReportSource(Short.toString(hexTohort(s.substring(104, 108))));
+ //时间拼接
String year = Short.toString(hexTohort(s.substring(108, 112)));
-
String month = Short.toString(hexToByte(s.substring(112, 114)));
if (Integer.parseInt(month)<10){
month = "0" + month;
@@ -106,15 +103,11 @@
second = "0" + second;
}
String time = year + "-" + month + "-" + day +" " + hour + ":" + minute + ":" + second;
- //时间拼接
- try {
- backEquipment.setReceiveTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- backEquipment.setUpdateTime(new Date());
+ backEquipment.setTime(time);
+ // 该处设置成和通道一样
+ backEquipment.setDeviceId(backEquipment.getChannelId());
// 新增
- udpServerHandler.talkBackEquipmentService.save(backEquipment);
+ udpServerHandler.deviceChannelPoliceCameraService.save(backEquipment);
}
/**
--
Gitblit v1.9.3