From 4920f3a1290f2061f7b81db78ce0dab7b6ae8fc2 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 08 八月 2023 09:02:32 +0800
Subject: [PATCH] 优化

---
 src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java |    6 
 src/main/java/com/ard/utils/tcp/ClientHandler.java                           |   28 +--
 src/main/java/com/ard/utils/other/LonlatConver.java                          |    2 
 src/main/java/com/ard/utils/other/DateUtils.java                             |    2 
 src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java           |    4 
 /dev/null                                                                    |  363 ---------------------------------------------
 src/main/java/com/ard/utils/udp/NettyUdpHandler.java                         |    2 
 src/main/java/com/ard/utils/other/GisUtils.java                              |    2 
 src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java            |    6 
 src/main/java/com/ard/utils/other/SpringTool.java                            |    3 
 src/main/java/com/ard/utils/other/ByteUtils.java                             |    3 
 src/main/java/com/ard/utils/tcp/MessageParsing.java                          |    5 
 src/main/java/com/ard/alarm/tube/service/TubeAlarmService.java               |    5 
 src/main/java/com/ard/config/MinioClientSingleton.java                       |   10 -
 14 files changed, 24 insertions(+), 417 deletions(-)

diff --git a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
index a096f37..70dd870 100644
--- a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
+++ b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
@@ -4,14 +4,8 @@
 import com.ard.alarm.radar.domain.ArdEquipRadar;
 import com.ard.alarm.radar.mapper.ArdEquipRadarMapper;
 import com.ard.alarm.radar.service.IArdEquipRadarService;
-import com.ard.utils.tcp.ClientInitialize;
-import com.ard.utils.tcp.NettyTcpClient;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
 
 /**
  * radarService涓氬姟灞傚鐞�
diff --git a/src/main/java/com/ard/alarm/tube/service/TubeAlarmService.java b/src/main/java/com/ard/alarm/tube/service/TubeAlarmService.java
index b645cb3..f524b99 100644
--- a/src/main/java/com/ard/alarm/tube/service/TubeAlarmService.java
+++ b/src/main/java/com/ard/alarm/tube/service/TubeAlarmService.java
@@ -1,14 +1,11 @@
 package com.ard.alarm.tube.service;
 
 import com.alibaba.fastjson2.JSON;
-import com.ard.utils.DateUtils;
+import com.ard.utils.other.DateUtils;
 import com.ard.utils.mqtt.MqttConsumer;
-import com.ard.utils.tcp.NettyTcpClient;
 import com.ard.utils.udp.NettyUdpServer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
 import org.springframework.core.annotation.Order;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/com/ard/config/MinioClientSingleton.java b/src/main/java/com/ard/config/MinioClientSingleton.java
index 713af81..a4bc199 100644
--- a/src/main/java/com/ard/config/MinioClientSingleton.java
+++ b/src/main/java/com/ard/config/MinioClientSingleton.java
@@ -1,20 +1,12 @@
 package com.ard.config;
 
-import com.ard.utils.SpringTool;
+import com.ard.utils.other.SpringTool;
 import io.minio.MinioClient;
-import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
 import org.springframework.context.annotation.Bean;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
 import org.springframework.integration.channel.DefaultHeaderChannelRegistry;
 import org.springframework.integration.channel.PublishSubscribeChannel;
 import org.springframework.stereotype.Component;
-
-import java.io.IOException;
-import java.util.Properties;
 
 /**
  * @Description:
diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
index 7fe8ac7..b7f1376 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
@@ -7,15 +7,15 @@
 import com.ard.alarm.external.domain.ArdEquipExternal;
 import com.ard.alarm.external.service.IArdEquipExternalService;
 import com.ard.config.MinioClientSingleton;
-import com.ard.utils.ByteUtils;
+import com.ard.utils.other.ByteUtils;
 import com.ard.utils.hiksdk.common.GlobalVariable;
 import com.ard.utils.hiksdk.domain.AccessControlHostEventInfo;
 import com.ard.utils.hiksdk.domain.CameraEventInfo;
 import com.ard.utils.hiksdk.domain.ExternalAlarmEventInfo;
 import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK;
 import com.ard.utils.hiksdk.util.minio.MinioUtils;
-import com.ard.utils.DateUtils;
-import com.ard.utils.SpringTool;
+import com.ard.utils.other.DateUtils;
+import com.ard.utils.other.SpringTool;
 import com.ard.utils.mqtt.MqttConsumer;
 import com.sun.jna.Pointer;
 import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
index 594b3c1..2e6faf9 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -4,7 +4,7 @@
 import com.ard.alarm.camera.domain.CameraCmd;
 import com.ard.alarm.external.domain.ArdEquipExternal;
 import com.ard.config.MinioClientSingleton;
-import com.ard.utils.ByteUtils;
+import com.ard.utils.other.ByteUtils;
 import com.ard.utils.hiksdk.common.GlobalVariable;
 import com.ard.utils.hiksdk.domain.DeviceInfo;
 import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK;
@@ -14,8 +14,6 @@
 import com.sun.jna.Pointer;
 import com.sun.jna.ptr.IntByReference;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
 
 import java.io.*;
 import java.nio.ByteBuffer;
diff --git a/src/main/java/com/ard/utils/ByteUtils.java b/src/main/java/com/ard/utils/other/ByteUtils.java
similarity index 98%
rename from src/main/java/com/ard/utils/ByteUtils.java
rename to src/main/java/com/ard/utils/other/ByteUtils.java
index c121eaf..752b333 100644
--- a/src/main/java/com/ard/utils/ByteUtils.java
+++ b/src/main/java/com/ard/utils/other/ByteUtils.java
@@ -1,6 +1,5 @@
-package com.ard.utils;
+package com.ard.utils.other;
 
-import javax.xml.bind.DatatypeConverter;
 import java.io.ByteArrayOutputStream;
 import java.io.UnsupportedEncodingException;
 import java.nio.ByteBuffer;
diff --git a/src/main/java/com/ard/utils/DateUtils.java b/src/main/java/com/ard/utils/other/DateUtils.java
similarity index 99%
rename from src/main/java/com/ard/utils/DateUtils.java
rename to src/main/java/com/ard/utils/other/DateUtils.java
index c735626..3b3d209 100644
--- a/src/main/java/com/ard/utils/DateUtils.java
+++ b/src/main/java/com/ard/utils/other/DateUtils.java
@@ -1,4 +1,4 @@
-package com.ard.utils;
+package com.ard.utils.other;
 import org.apache.commons.lang3.time.DateFormatUtils;
 
 import java.lang.management.ManagementFactory;
diff --git a/src/main/java/com/ard/utils/GisUtils.java b/src/main/java/com/ard/utils/other/GisUtils.java
similarity index 97%
rename from src/main/java/com/ard/utils/GisUtils.java
rename to src/main/java/com/ard/utils/other/GisUtils.java
index df21a12..17bcc3c 100644
--- a/src/main/java/com/ard/utils/GisUtils.java
+++ b/src/main/java/com/ard/utils/other/GisUtils.java
@@ -1,4 +1,4 @@
-package com.ard.utils;
+package com.ard.utils.other;
 
 import org.gavaghan.geodesy.Ellipsoid;
 import org.gavaghan.geodesy.GeodeticCalculator;
diff --git a/src/main/java/com/ard/utils/LonlatConver.java b/src/main/java/com/ard/utils/other/LonlatConver.java
similarity index 99%
rename from src/main/java/com/ard/utils/LonlatConver.java
rename to src/main/java/com/ard/utils/other/LonlatConver.java
index cd8c092..a47e40d 100644
--- a/src/main/java/com/ard/utils/LonlatConver.java
+++ b/src/main/java/com/ard/utils/other/LonlatConver.java
@@ -1,4 +1,4 @@
-package com.ard.utils;
+package com.ard.utils.other;
 /**
  * 缁忕含搴﹁浆鎹㈠伐鍏�
  * 鍒樿嫃涔�
diff --git a/src/main/java/com/ard/utils/SpringTool.java b/src/main/java/com/ard/utils/other/SpringTool.java
similarity index 96%
rename from src/main/java/com/ard/utils/SpringTool.java
rename to src/main/java/com/ard/utils/other/SpringTool.java
index 123317b..1c0844d 100644
--- a/src/main/java/com/ard/utils/SpringTool.java
+++ b/src/main/java/com/ard/utils/other/SpringTool.java
@@ -1,4 +1,4 @@
-package com.ard.utils;
+package com.ard.utils.other;
 
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
@@ -8,7 +8,6 @@
 import org.springframework.core.io.Resource;
 import org.springframework.stereotype.Component;
 
-import java.nio.ByteBuffer;
 import java.util.Properties;
 
 /**
diff --git a/src/main/java/com/ard/utils/tcp/ClientHandler.java b/src/main/java/com/ard/utils/tcp/ClientHandler.java
index 5a7e3ac..dc27a7c 100644
--- a/src/main/java/com/ard/utils/tcp/ClientHandler.java
+++ b/src/main/java/com/ard/utils/tcp/ClientHandler.java
@@ -1,24 +1,14 @@
 package com.ard.utils.tcp;
-
-/**
- * @Description:
- * @ClassName: ClientHandler
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�07鏈�05鏃�13:13
- * @Version: 1.0
- **/
-
 import com.alibaba.fastjson2.JSON;
 import com.ard.alarm.radar.domain.ArdAlarmRadar;
 import com.ard.alarm.radar.domain.ArdEquipRadar;
 import com.ard.alarm.radar.domain.RadarAlarmData;
-import com.ard.utils.ByteUtils;
-import com.ard.utils.GisUtils;
+import com.ard.utils.other.ByteUtils;
+import com.ard.utils.other.GisUtils;
 import com.ard.utils.mqtt.MqttConsumer;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelId;
-import io.netty.channel.ChannelInboundHandlerAdapter;
 import io.netty.channel.SimpleChannelInboundHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -31,12 +21,14 @@
 import java.util.List;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
-
 /**
- * 瀹㈡埛绔鐞嗗櫒
- *
- * @author lijiamin
- */
+ * @Description: 瀹㈡埛绔鐞嗗櫒
+ * @ClassName: ClientHandler
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�07鏈�05鏃�13:13
+ * @Version: 1.0
+ **/
+
 @Slf4j(topic = "netty")
 public class ClientHandler extends SimpleChannelInboundHandler<ByteBuf> {
     private ChannelHandlerContext context;
@@ -307,7 +299,7 @@
                     afTy = ByteUtils.toLittleEndian(afTy);
                     float fTy = ByteUtils.bytesToFloat(afTy);
                     //  log.info("鍨傜洿瑙掑害:" + fTy);
-                    Double[] radarXY = {radarLagitude, radarLagitude};
+                    Double[] radarXY = {radarLongitude, radarLagitude};
                     Double[] alarmXY = GisUtils.CalculateCoordinates(radarXY, Distance, (double) fTx);
                     //  log.info("鎶ヨ淇℃伅锛�" + "銆恑d銆�" + id + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime + "銆恉istance銆�" + Distance + "銆怭銆�" + fTx + "銆怲銆�" + fTy + "銆怷銆�" + alarmXY[0] + "銆怸銆�" + alarmXY[1]);
                     ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar();
diff --git a/src/main/java/com/ard/utils/tcp/MessageParsing.java b/src/main/java/com/ard/utils/tcp/MessageParsing.java
index e468e9d..92c9ef8 100644
--- a/src/main/java/com/ard/utils/tcp/MessageParsing.java
+++ b/src/main/java/com/ard/utils/tcp/MessageParsing.java
@@ -1,6 +1,6 @@
 package com.ard.utils.tcp;
 
-import com.ard.utils.ByteUtils;
+import com.ard.utils.other.ByteUtils;
 
 import javax.xml.bind.DatatypeConverter;
 import java.util.ArrayList;
@@ -65,8 +65,7 @@
        // System.out.println(DatatypeConverter.printHexBinary(payload));
         //璁$畻璐熻浇鐨刢rc32鍊�
         byte[] NewCrc32 = ByteUtils.parseCrc32(payload);
-        System.out.println("old:"+DatatypeConverter.printHexBinary(oldCrc32));
-        System.out.println("new:"+DatatypeConverter.printHexBinary(NewCrc32));
+
         //鍒ゆ柇鏁版嵁鐨刢rc32鏍¢獙鍊煎拰璁$畻鍊兼槸鍚︾浉鍚�
         if (Arrays.equals(oldCrc32, NewCrc32)) {
             return true;
diff --git a/src/main/java/com/ard/utils/tcp/NettyTcpClient.java b/src/main/java/com/ard/utils/tcp/NettyTcpClient.java
deleted file mode 100644
index 464bba5..0000000
--- a/src/main/java/com/ard/utils/tcp/NettyTcpClient.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.ard.utils.tcp;
-
-import com.ard.alarm.radar.domain.ArdEquipRadar;
-import io.netty.bootstrap.Bootstrap;
-import io.netty.channel.ChannelFuture;
-import io.netty.channel.ChannelFutureListener;
-import io.netty.channel.ChannelInitializer;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.SocketChannel;
-import io.netty.channel.socket.nio.NioSocketChannel;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.stereotype.Component;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * @Description: 鍙︿竴绉峵cp瀹㈡埛绔� 鐩墠寮冪敤
- * @ClassName: NettyTcpClient
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�06鏈�25鏃�17:00
- * @Version: 1.0
- **/
-@EnableAsync
-@Component
-@Slf4j(topic = "netty")
-public class NettyTcpClient {
-    @Async("alarm")
-    public void init(ArdEquipRadar ardEquipRadar) {
-        while (true) {
-            NioEventLoopGroup group = new NioEventLoopGroup();
-            try {
-                Bootstrap bootstrap = new Bootstrap();
-                bootstrap.group(group)
-                        .channel(NioSocketChannel.class)
-                        .handler(new ChannelInitializer<SocketChannel>() {
-                            @Override
-                            protected void initChannel(SocketChannel ch) throws Exception {
-                                ch.pipeline().addLast(new NettyTcpClientHandler(ardEquipRadar));
-                            }
-                        });
-                String host = ardEquipRadar.getIp();
-                Integer port = ardEquipRadar.getPort();
-                ChannelFuture future = bootstrap.connect(host, port).sync();
-                // 娣诲姞杩炴帴鎴愬姛鐨勭洃鍚櫒
-                future.addListener((ChannelFutureListener) future1 -> {
-                    if (future1.isSuccess()) {
-                        log.info("tcp杩炴帴鎴愬姛" + host + ":" + port);
-                    } else {
-                        log.info("tcp杩炴帴澶辫触" + host + ":" + port);
-                    }
-                });
-                future.channel().closeFuture().sync();
-
-            } catch (Exception e) {
-                log.error("nettyTcp瀹㈡埛绔垵濮嬪寲寮傚父:" + e.getMessage());
-                try {
-                    TimeUnit.SECONDS.sleep(5); // 绛夊緟5绉掑悗閲嶆柊杩炴帴
-                } catch (InterruptedException ex) {
-                    Thread.currentThread().interrupt();
-                }
-            } finally {
-                group.shutdownGracefully();
-            }
-        }
-    }
-}
diff --git a/src/main/java/com/ard/utils/tcp/NettyTcpClientHandler.java b/src/main/java/com/ard/utils/tcp/NettyTcpClientHandler.java
deleted file mode 100644
index 82d9685..0000000
--- a/src/main/java/com/ard/utils/tcp/NettyTcpClientHandler.java
+++ /dev/null
@@ -1,363 +0,0 @@
-package com.ard.utils.tcp;
-
-import com.alibaba.fastjson2.JSON;
-import com.ard.alarm.radar.domain.ArdEquipRadar;
-import com.ard.alarm.radar.domain.RadarAlarmData;
-import com.ard.alarm.radar.domain.ArdAlarmRadar;
-import com.ard.utils.ByteUtils;
-import com.ard.utils.GisUtils;
-import com.ard.utils.mqtt.MqttConsumer;
-import io.netty.buffer.ByteBuf;
-import io.netty.channel.ChannelHandlerContext;
-import io.netty.channel.SimpleChannelInboundHandler;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import javax.xml.bind.DatatypeConverter;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
-
-/**
- * @Description: tcp瀹㈡埛绔鐞�-寮冪敤
- * @ClassName: NettyTcpClientHandler
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�06鏈�25鏃�17:02
- * @Version: 1.0
- **/
-@Slf4j(topic = "netty")
-public class NettyTcpClientHandler extends SimpleChannelInboundHandler<ByteBuf> {
-
-    private String host;
-    private Integer port;
-    private Double longitude;
-    private Double lagitude;
-    private Double altitude;
-    private String name;
-    private String id;
-
-    public NettyTcpClientHandler(ArdEquipRadar ardEquipRadar) {
-        this.host = ardEquipRadar.getIp();
-        this.port = ardEquipRadar.getPort();
-        this.longitude = ardEquipRadar.getLongitude();
-        this.lagitude = ardEquipRadar.getLatitude();
-        this.name = ardEquipRadar.getName();
-        this.id = ardEquipRadar.getId();
-        this.altitude = ardEquipRadar.getAltitude();
-    }
-
-    private ChannelHandlerContext context;
-    private ScheduledFuture<?> heartbeatTask;
-
-    @Override
-    protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) {
-        // 澶勭悊鎺ユ敹鍒扮殑娑堟伅
-        byte[] byteArray = new byte[msg.readableBytes()];
-        msg.getBytes(msg.readerIndex(), byteArray);
-        byte[] bytes = MessageParsing.receiveCompletePacket(byteArray);
-        if (bytes != null) {
-            processData(bytes);
-        }
-    }
-
-    @Override
-    public void channelActive(ChannelHandlerContext ctx) {
-        context = ctx;
-        startHeartbeatTask();//寮�濮嬪彂閫佸績璺�
-    }
-
-    /**
-     * 寮�濮嬪績璺充换鍔�
-     */
-    private void startHeartbeatTask() {
-        heartbeatTask = context.executor().scheduleAtFixedRate(() -> {
-            // 鍙戦�佸績璺虫秷鎭�
-            ByteBuf message = context.alloc().buffer();
-            byte[] header = {0x01, 0x02, 0x01};
-            byte[] payload = {0x10, 0x00, 0x00, 0x00};
-            byte[] payloadCrc32 = ByteUtils.parseCrc32(payload);
-            byte[] footer = {0x01, 0x02, 0x00};
-            byte[] heart = ByteUtils.appendArrays(header, payload, payloadCrc32, footer);
-//            byte[] heart = {0x01, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00, (byte) 0x83, (byte) 0x88, 0x5d, 0x71, 0x01, 0x02, 0x00};
-            String hexString = DatatypeConverter.printHexBinary(heart);
-            log.info("鍙戦�佸績璺�:" + hexString);
-            message.writeBytes(heart);
-            context.writeAndFlush(message);
-
-        }, 0, 5, TimeUnit.SECONDS);
-    }
-
-    /**
-     * 鍋滄蹇冭烦浠诲姟
-     */
-    private void stopHeartbeatTask() {
-        if (heartbeatTask != null) {
-            heartbeatTask.cancel(false);
-            heartbeatTask = null;
-        }
-    }
-
-    @Override
-    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
-        log.info("tcp瀹㈡埛绔繛鎺ュ紓甯�");
-        // 鍙戠敓寮傚父鏃剁殑澶勭悊
-        cause.printStackTrace();
-        ctx.close();
-        stopHeartbeatTask();//鍋滄蹇冭烦鍙戦��
-    }
-
-    /**
-     * 瑙f瀽鎶ヨ鏁版嵁
-     */
-    public void processData(byte[] data) {
-        try {
-            //region crc鏍¢獙-鐩墠浠呯敤浜庢樉绀烘牎楠岀粨鏋�
-            Boolean crc32Check = MessageParsing.CRC32Check(data);
-            if (!crc32Check) {
-                log.info("CRC32鏍¢獙涓嶉�氳繃");
-            } else {
-                log.info("CRC32鏍¢獙閫氳繃");
-            }
-            //endregion
-            //log.info("鍘熷鏁版嵁:" + DatatypeConverter.printHexBinary(data));
-            //log.info("闆疯揪淇℃伅锛�" + host + "銆恜ort銆�" + port + "銆怷銆�" + longitude + "銆怸銆�" + lagitude + "銆怹銆�" + altitude);
-            data = MessageParsing.transferData(data);//鍘绘帀鍖呭ご鍜屽寘灏俱�佹牎楠屽強杞箟
-            //region 璐熻浇澶磋В鏋�
-            byte[] type = Arrays.copyOfRange(data, 0, 1);//鍛戒护绫诲瀷
-            //  log.info("鍛戒护绫诲瀷:" + DatatypeConverter.printHexBinary(type));
-            byte[] cmdId = Arrays.copyOfRange(data, 1, 2);//鍛戒护ID
-            //  log.info("鍛戒护ID:" + DatatypeConverter.printHexBinary(cmdId));
-            byte[] payloadSize = Arrays.copyOfRange(data, 2, 4);//鏈夋晥璐熻浇澶у皬
-            payloadSize = ByteUtils.toLittleEndian(payloadSize);
-            int payloadSizeToDecimal = ByteUtils.bytesToDecimal(payloadSize);
-            // log.info("鏈夋晥璐熻浇澶у皬(杞暣鍨�):" + payloadSizeToDecimal);
-            //endregion
-            List<ArdAlarmRadar> radarAlarmInfos = new ArrayList<>();
-            String alarmTime = "";
-            Integer targetNum = 0;
-            if (Arrays.equals(cmdId, new byte[]{0x01})) {
-                //region 鍛婅淇℃伅鍙嶉
-                byte[] dwTim = Arrays.copyOfRange(data, 4, 8);
-                dwTim = ByteUtils.toLittleEndian(dwTim);
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                long l = ByteUtils.bytesToDecimal(dwTim);
-                alarmTime = sdf.format(l * 1000);
-                // log.info("鍛ㄨ鍥惧儚鐨勫嚭鐜版椂闂�(杞琩ate):" + alarmTime);
-
-                byte[] wTargetNum = Arrays.copyOfRange(data, 8, 10);
-                wTargetNum = ByteUtils.toLittleEndian(wTargetNum);
-                targetNum = ByteUtils.bytesToDecimal(wTargetNum);
-                if (targetNum == 0) {
-                    return;
-                }
-                log.info("鐩爣鎬荤偣鏁�(杞暣鍨�):" + targetNum);
-
-                //瑙f瀽NET_TARGET_UNIT(64鏄疦ET_TARGET_HEAD鐨勫瓧鑺傛暟)
-                int uintSize = (payloadSizeToDecimal - 64) / targetNum;
-                // log.info("鍗曟潯鎶ヨ澶у皬:" + uintSize);
-
-                for (int i = 0; i < targetNum; i++) {
-
-                    Integer index = 68 + uintSize * i;
-                    byte[] dwID = Arrays.copyOfRange(data, index, index + 4);
-                    // log.info("鐩爣ID:" + DatatypeConverter.printHexBinary(cmdId));
-                    dwID = ByteUtils.toLittleEndian(dwID);
-                    int id = ByteUtils.bytesToDecimal(dwID);
-
-                    // log.info("鐩爣ID鍙凤細" + id);
-
-                    byte[] iDistance = Arrays.copyOfRange(data, index + 8, index + 12);
-                    iDistance = ByteUtils.toLittleEndian(iDistance);
-                    Double Distance = ByteUtils.bytesToDouble(iDistance);
-                    // log.info("鐩爣褰撳墠璺濈(m):" + Distance);
-                    //region 涓嶉渶瑕佺殑瀛楁
-//                    byte[] dwGSum = Arrays.copyOfRange(data, index + 4, index + 8);
-//                    dwGSum = toLittleEndian(dwGSum);
-//                    int GSum = byteArrayToDecimal(dwGSum);
-//                    log.info("鐩爣褰撳墠鍍忕礌鐏板害鍜岋細" + GSum);
-//                    byte[] iTw = Arrays.copyOfRange(data, index + 12, index + 16);
-//                    iTw = toLittleEndian(iTw);
-//                    int Tw = byteArrayToDecimal(iTw);
-//                    log.info("鐩爣褰撳墠鐨勫儚绱犲搴�:" + Tw);
-//
-//                    byte[] iTh = Arrays.copyOfRange(data, index + 16, index + 20);
-//                    iTh = toLittleEndian(iTh);
-//                    int Th = byteArrayToDecimal(iTh);
-//                    log.info("鐩爣褰撳墠鐨勫儚绱犻珮搴�:" + Th);
-//
-//                    byte[] wPxlArea = Arrays.copyOfRange(data, index + 20, index + 22);
-//                    wPxlArea = toLittleEndian(wPxlArea);
-//                    int PxlArea = byteArrayToDecimal(wPxlArea);
-//                    log.info("鐩爣褰撳墠鍍忕礌闈㈢Н:" + PxlArea);
-//
-//                    byte[] cTrkNum = Arrays.copyOfRange(data, index + 22, index + 23);
-//                    cTrkNum = toLittleEndian(cTrkNum);
-//                    int TrkNum = byteArrayToDecimal(cTrkNum);
-//                    log.info("杞ㄨ抗鐐规暟:" + TrkNum);
-
-//                    byte[] sVx = Arrays.copyOfRange(data, index + 24, index + 26);
-//                    sVx = toLittleEndian(sVx);
-//                    int Vx = byteArrayToDecimal(sVx);
-//                    log.info("鐩爣褰撳墠閫熷害鐭㈤噺(鍍忕礌璺濈)X:" + Vx);
-//
-//                    byte[] sVy = Arrays.copyOfRange(data, index + 26, index + 28);
-//                    sVy = toLittleEndian(sVy);
-//                    int Vy = byteArrayToDecimal(sVy);
-//                    log.info("鐩爣褰撳墠閫熷害鐭㈤噺(鍍忕礌璺濈)Y:" + Vy);
-//
-//                    byte[] sAreaNo = Arrays.copyOfRange(data, index + 28, index + 30);
-//                    sAreaNo = toLittleEndian(sAreaNo);
-//                    int AreaNo = byteArrayToDecimal(sAreaNo);
-//                    log.info("鐩爣褰掑睘鐨勫憡璀﹀尯鍩熷彿:" + AreaNo);
-//
-//                    byte[] cGrp = Arrays.copyOfRange(data, index + 30, index + 31);
-//                    cGrp = toLittleEndian(cGrp);
-//                    int Grp = byteArrayToDecimal(cGrp);
-//                    log.info("鎵�灞炵粍:" + Grp);
-                    //endregion
-                    String alarmType = "";
-                    byte[] cStat = Arrays.copyOfRange(data, index + 23, index + 24);
-                    cStat = ByteUtils.toLittleEndian(cStat);
-                    String binaryString = String.format("%8s", Integer.toBinaryString(cStat[0] & 0xFF)).replace(' ', '0');
-                    // log.info("鐩爣褰撳墠鐘舵��:" + binaryString);
-                    // 鎻愬彇绗�4浣嶈嚦绗�6浣嶇殑鍊�
-                    int extractedValue = (cStat[0] >> 4) & 0b00001111;
-                    // 鍒ゆ柇鎻愬彇鐨勫��
-                    if (extractedValue == 0b0000) {
-                        alarmType = "杩愬姩鐩爣妫�娴�";
-                    } else if (extractedValue == 0b0001) {
-                        alarmType = "鐑簮妫�娴�";
-                    }
-                    // log.info("鎶ヨ绫诲瀷:" + alarmType);
-
-                    byte[] szName = Arrays.copyOfRange(data, index + 64, index + 96);
-                    String alarmPointName = ByteUtils.bytesToStringZh(szName);
-                    // log.info("鎵�灞炲憡璀﹀尯鍩熷悕绉�:" + alarmPointName);
-                    byte[] afTx = Arrays.copyOfRange(data, index + 96, index + 100);
-                    afTx = ByteUtils.toLittleEndian(afTx);
-                    float fTx = ByteUtils.bytesToFloat(afTx);
-                    //  log.info("姘村钩瑙掑害:" + fTx);
-                    byte[] afTy = Arrays.copyOfRange(data, index + 112, index + 116);
-                    afTy = ByteUtils.toLittleEndian(afTy);
-                    float fTy = ByteUtils.bytesToFloat(afTy);
-                    //  log.info("鍨傜洿瑙掑害:" + fTy);
-                    Double[] radarXY = {longitude, lagitude};
-                    Double[] alarmXY = GisUtils.CalculateCoordinates(radarXY, Distance, (double) fTx);
-                    //  log.info("鎶ヨ淇℃伅锛�" + "銆恑d銆�" + id + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime + "銆恉istance銆�" + Distance + "銆怭銆�" + fTx + "銆怲銆�" + fTy + "銆怷銆�" + alarmXY[0] + "銆怸銆�" + alarmXY[1]);
-                    ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar();
-                    ardAlarmRadar.setTargetId(id);
-                    ardAlarmRadar.setName(alarmPointName);
-                    ardAlarmRadar.setLongitude(alarmXY[0]);
-                    ardAlarmRadar.setLatitude(alarmXY[1]);
-                    ardAlarmRadar.setAlarmType(alarmType);
-                    radarAlarmInfos.add(ardAlarmRadar);
-                }
-                //endregion
-            }
-            if (Arrays.equals(cmdId, new byte[]{0x04})) {
-                //region鎶芥补鏈篈I鐘舵�佸弽棣�
-                String hexString = DatatypeConverter.printHexBinary(data);
-                //log.info(hexString);
-
-                byte[] dwTim = Arrays.copyOfRange(data, 4, 8);
-                dwTim = ByteUtils.toLittleEndian(dwTim);
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                long l = ByteUtils.bytesToDecimal(dwTim);
-                alarmTime = sdf.format(l * 1000);
-                //log.info("鍛ㄨ鍥惧儚鐨勫嚭鐜版椂闂�(杞琩ate):" + alarmTime);
-
-                byte[] wTargetNum = Arrays.copyOfRange(data, 8, 10);
-                wTargetNum = ByteUtils.toLittleEndian(wTargetNum);
-                targetNum = ByteUtils.bytesToDecimal(wTargetNum);
-                log.info("鐩爣鎬荤偣鏁�(杞暣鍨�):" + targetNum);
-                if (targetNum == 0) {
-                    return;
-                }
-                //瑙f瀽NET_TARGET_UNIT(64鏄疦ET_TARGET_HEAD鐨勫瓧鑺傛暟)
-                int uintSize = (payloadSizeToDecimal - 64) / targetNum;
-                //log.info("鍗曟潯鎶ヨ澶у皬:" + uintSize);
-                for (int i = 0; i < targetNum; i++) {
-                    Integer index = 68 + uintSize * i;
-                    byte[] dwID = Arrays.copyOfRange(data, index, index + 4);
-                    //log.info("鐩爣ID:" + DatatypeConverter.printHexBinary(dwID));
-                    dwID = ByteUtils.toLittleEndian(dwID);
-                    int id = ByteUtils.bytesToDecimal(dwID);
-                    //log.info("鐩爣ID鍙凤細" + id);
-                    //region 涓嶉渶瑕佺殑瀛楁
-                    byte[] iTw = Arrays.copyOfRange(data, index + 4, index + 8);
-                    iTw = ByteUtils.toLittleEndian(iTw);
-                    int Tw = ByteUtils.bytesToDecimal(iTw);
-                    // log.info("鐩爣褰撳墠鐨勫儚绱犲搴�:" + Tw);
-
-                    byte[] iTh = Arrays.copyOfRange(data, index + 8, index + 12);
-                    iTh = ByteUtils.toLittleEndian(iTh);
-                    int Th = ByteUtils.bytesToDecimal(iTh);
-                    //log.info("鐩爣褰撳墠鐨勫儚绱犻珮搴�:" + Th);
-
-                    byte[] fTx = Arrays.copyOfRange(data, index + 12, index + 16);
-                    fTx = ByteUtils.toLittleEndian(fTx);
-                    float fTxAngle = ByteUtils.bytesToFloat(fTx);
-                    //log.info("p瑙掑害:" + fTxAngle);
-                    byte[] fTy = Arrays.copyOfRange(data, index + 16, index + 20);
-                    fTy = ByteUtils.toLittleEndian(fTy);
-                    float fTyAngle = ByteUtils.bytesToFloat(fTy);
-                    //log.info("t瑙掑害:" + fTyAngle);
-
-                    byte[] sAreaNo = Arrays.copyOfRange(data, index + 20, index + 22);
-                    sAreaNo = ByteUtils.toLittleEndian(sAreaNo);
-                    int AreaNo = ByteUtils.bytesToDecimal(sAreaNo);
-                    //log.info("鐩爣褰掑睘鐨勫憡璀﹀尯鍩熷彿:" + AreaNo);
-
-                    byte[] cGrp = Arrays.copyOfRange(data, index + 22, index + 23);
-                    cGrp = ByteUtils.toLittleEndian(cGrp);
-                    int Grp = ByteUtils.bytesToDecimal(cGrp);
-                    //log.info("鎵�灞炵粍:" + Grp);
-                    //endregion
-                    String alarmType;
-                    byte[] cStat = Arrays.copyOfRange(data, index + 23, index + 24);
-                    cStat = ByteUtils.toLittleEndian(cStat);
-                    //String binaryString = String.format("%8s", Integer.toBinaryString(cStat[0] & 0xFF)).replace(' ', '0');
-                    //log.info("鐩爣褰撳墠鐘舵��:" + binaryString);
-                    // 鎻愬彇绗�0浣嶅��
-                    // 浣跨敤浣嶈繍绠楁搷浣滃垽鏂0浣嶆槸鍚︿负1
-                    boolean isB0 = (cStat[0] & 0x01) == 0x00;
-                    // 鍒ゆ柇鎻愬彇鐨勫��
-                    if (isB0) {
-                        alarmType = "闆疯揪鎶芥补鏈哄仠鏈�";
-                    } else {
-                        continue;
-                    }
-                    //log.info("鎶ヨ绫诲瀷:" + alarmType);
-
-                    byte[] szName = Arrays.copyOfRange(data, index + 32, index + 64);
-                    //log.info("鎵�灞炲憡璀﹀尯鍩熷悕绉�:" + DatatypeConverter.printHexBinary(szName));
-                    String alarmPointName = ByteUtils.bytesToStringZh(szName);
-                    // log.info("鎵�灞炲憡璀﹀尯鍩熷悕绉�:" + alarmPointName);
-                    //log.info("鎶ヨ淇℃伅锛�" + "銆恑d銆�" + id + "銆恘ame銆�" + alarmPointName + "銆恆larmType銆�" + alarmType + "銆恆larmTime銆�" + alarmTime);
-                    ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar();
-                    ardAlarmRadar.setTargetId(id);
-                    ardAlarmRadar.setName(alarmPointName);
-                    ardAlarmRadar.setAlarmType(alarmType);
-                    radarAlarmInfos.add(ardAlarmRadar);
-                }
-                //endregion
-            }
-            if (StringUtils.isEmpty(alarmTime)) {
-                return;
-            }
-            if (targetNum == 0) {
-                return;
-            }
-            RadarAlarmData radarAlarmData = new RadarAlarmData();
-            radarAlarmData.setRadarId(id);
-            radarAlarmData.setRadarName(name);
-            radarAlarmData.setAlarmTime(alarmTime);
-            radarAlarmData.setArdAlarmRadars(radarAlarmInfos);
-            MqttConsumer.publish(2, false, "radar", JSON.toJSONString(radarAlarmData));
-        } catch (Exception ex) {
-            log.error("闆疯揪鎶ユ枃瑙f瀽寮傚父:" + ex.getMessage());
-        }
-    }
-
-}
diff --git a/src/main/java/com/ard/utils/udp/NettyUdpHandler.java b/src/main/java/com/ard/utils/udp/NettyUdpHandler.java
index 8239558..c3bb951 100644
--- a/src/main/java/com/ard/utils/udp/NettyUdpHandler.java
+++ b/src/main/java/com/ard/utils/udp/NettyUdpHandler.java
@@ -1,7 +1,7 @@
 package com.ard.utils.udp;
 
 import com.ard.alarm.tube.service.TubeAlarmService;
-import com.ard.utils.SpringTool;
+import com.ard.utils.other.SpringTool;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.ChannelHandlerContext;

--
Gitblit v1.9.3