From 98d58d2b1e29432457213e4a9874fef537f68e6c Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 11 三月 2024 09:38:01 +0800
Subject: [PATCH] 优化角度引导信息反馈

---
 src/main/java/com/ard/alarm/radar/controller/RadarController.java |   51 +++++++++++++++++++++++++++------------------------
 1 files changed, 27 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/ard/alarm/radar/controller/RadarController.java b/src/main/java/com/ard/alarm/radar/controller/RadarController.java
index 72f02fb..f98b87e 100644
--- a/src/main/java/com/ard/alarm/radar/controller/RadarController.java
+++ b/src/main/java/com/ard/alarm/radar/controller/RadarController.java
@@ -4,9 +4,9 @@
 import com.ard.alarm.radar.domain.GuideInfo;
 import com.ard.alarm.radar.service.IArdEquipRadarService;
 import com.ard.utils.http.AjaxResult;
-import com.ard.utils.other.ByteUtils;
-import com.ard.utils.other.GisUtils;
-import com.ard.utils.tcp.ClientInitialize;
+import com.ard.utils.util.ByteUtils;
+import com.ard.utils.util.GisUtils;
+import com.ard.utils.netty.tcp.ClientInitialize;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.Channel;
 import lombok.extern.slf4j.Slf4j;
@@ -16,8 +16,8 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-
-import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @Description: 闆疯揪鎺ュ彛
@@ -43,46 +43,49 @@
         if (ardEquipRadar == null) {
             return AjaxResult.error("闆疯揪涓嶅瓨鍦�");
         }
-        Channel channel = (Channel)ClientInitialize.SuccessConnectMap.get(ardEquipRadar.getId());
-        if (channel==null)
-        {
+        Channel channel = ClientInitialize.SucChannelMap.get(ardEquipRadar.getIp() + ":" + ardEquipRadar.getPort());
+        if (channel == null) {
             return AjaxResult.error("闆疯揪鏈繛鎺�");
         }
         Double longitude = ardEquipRadar.getLongitude();//闆疯揪缁忓害
         Double latitude = ardEquipRadar.getLatitude();//闆疯揪绾害
         Double altitude = ardEquipRadar.getAltitude();//闆疯揪楂樺害
         //璁$畻姘村钩瑙掑害
-        float p = (float)GisUtils.getNorthAngle(longitude, latitude, targetPosition[0], targetPosition[1]);
+        float p = (float) GisUtils.getNorthAngle(longitude, latitude, targetPosition[0], targetPosition[1]);
         //璁$畻鍨傜洿瑙掑害
         double[] radarPosition = new double[2];
         radarPosition[0] = longitude;
         radarPosition[1] = latitude;
         double distance = GisUtils.getDistance(radarPosition, targetPosition);
-        float angleInRadians = (float)Math.atan(distance / altitude);
-        float t = (90-(float)Math.toDegrees(angleInRadians))*-1;
-        log.debug("distance锛�"+distance);
-        log.debug("p锛�"+p);
-        log.debug("t锛�"+t);
+        float angleInRadians = (float) Math.atan(distance / altitude);
+        float t = (90 - (float) Math.toDegrees(angleInRadians)) * -1;
+        log.debug("distance锛�" + distance);
+        log.debug("p锛�" + p);
+        log.debug("t锛�" + t);
         //鍙戦�佸憡璀﹀墠绔殑瑙掑害鎻愮ず
         byte[] header = {0x01, 0x02, 0x01};//鍖呭ご
         byte[] payloadHeader = {0x10, 0x03, 0x20, 0x00};//璐熻浇澶�
-        byte[] distanceBytes = ByteUtils.decimalToBytes((int)distance);
-        distanceBytes=ByteUtils.toLittleEndian(distanceBytes);
+        byte[] distanceBytes = ByteUtils.decimalToBytes((int) distance);
+        distanceBytes = ByteUtils.toLittleEndian(distanceBytes);
         byte[] pBytes = ByteUtils.floatToBytes(p);
-        pBytes=ByteUtils.toLittleEndian(pBytes);
+        pBytes = ByteUtils.toLittleEndian(pBytes);
         byte[] tBytes = ByteUtils.floatToBytes(t);
-        tBytes=ByteUtils.toLittleEndian(tBytes);
-        byte[] resBytes=new byte[20];
-        byte[] payloadBody = ByteUtils.appendArrays(distanceBytes,pBytes,tBytes,resBytes);//璐熻浇
+        tBytes = ByteUtils.toLittleEndian(tBytes);
+        byte[] resBytes = new byte[20];
+        byte[] payloadBody = ByteUtils.appendArrays(distanceBytes, pBytes, tBytes, resBytes);//璐熻浇
 
-        byte[] payload = ByteUtils.appendArrays(payloadHeader,payloadBody);//璐熻浇澶�+璐熻浇
+        byte[] payload = ByteUtils.appendArrays(payloadHeader, payloadBody);//璐熻浇澶�+璐熻浇
         byte[] payloadCrc32 = ByteUtils.parseCrc32(payload);//璐熻浇澶�+璐熻浇鐨刢rc32鏍¢獙
         byte[] footer = {0x01, 0x02, 0x00};//鍖呭熬
         byte[] data = ByteUtils.appendArrays(header, payload, payloadCrc32, footer);
-        System.out.println(ByteUtils.printHexBinary(data));
+
         ByteBuf message = channel.alloc().buffer();
         message.writeBytes(data);
         channel.writeAndFlush(message);
-        return AjaxResult.success();
+        Map<String,Object> map = new HashMap<>();
+        map.put("distance",distance);
+        map.put("p",p);
+        map.put("t",t);
+        return AjaxResult.success(map);
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3