From b4d7f801b594946e3b8f42403883f1e88fba44fe Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 25 Jul 2023 10:09:55 +0800
Subject: [PATCH] chore:测试提交

---
 screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java     |   58 ++++++++++----
 screen-api/src/main/resources/mapper/HistorySecondUavMapper.xml           |    6 +
 screen-api/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java |    6 +
 screen-api/src/main/java/com/moral/api/controller/UAVController.java      |  156 ++++++++++++++++++++++----------------
 4 files changed, 141 insertions(+), 85 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/UAVController.java b/screen-api/src/main/java/com/moral/api/controller/UAVController.java
index 9d29b6e..89acda0 100644
--- a/screen-api/src/main/java/com/moral/api/controller/UAVController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/UAVController.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.moral.api.entity.HistorySecondUav;
@@ -22,7 +23,10 @@
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -30,6 +34,7 @@
 import java.awt.geom.Point2D;
 import java.text.DecimalFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName UAVController
@@ -69,25 +74,37 @@
         return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo);
     }
 
-    @RequestMapping("test")
-    public ResultMessage test(){
+    @PostMapping("test")
+    public ResultMessage test(@RequestBody Map<String, Object> params){
+        //������������������������
+        if (!params.containsKey("mac") || !params.containsKey("batch") || !params.containsKey("height")|| !params.containsKey("uvasize")) {
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        String uvasize = params.get("uvasize").toString();
+        int size = Integer.parseInt(uvasize);
         //������
         ArrayList<Double> flyLatList = new ArrayList<>();
         //������
         ArrayList<Double> flyLonList = new ArrayList<>();
-        HashMap<String, Object> map = new HashMap<>();
-        String mac ="p5dnd7a0243592";
-        String time1 ="2023-05-14 10:40:00";
-        String time2 ="2023-05-14 11:10:00";
-        map.put("mac",mac);
-        map.put("time1",time1);
-        map.put("time2",time2);
+//        HashMap<String, Object> map = new HashMap<>();
+//        String mac ="p5dnd7a0243592";
+//        String time1 ="2023-05-14 10:40:00";
+//        String time2 ="2023-05-14 11:10:00";
+//        map.put("mac",mac);
+//        map.put("time1",time1);
+//        map.put("time2",time2);
+//        map.put("height",0.5);
 //        List<UAVResultDTO> uavResultDTOS = historySecondUavMapper.reList(map);
-        QueryWrapper<HistorySecondUav> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("value");
-        queryWrapper.eq("mac",mac);
-        queryWrapper.between("time",time1,time2);
-        List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(queryWrapper);
+//        QueryWrapper<HistorySecondUav> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.select("value");
+//        queryWrapper.eq("mac",mac);
+//        queryWrapper.between("time",time1,time2);
+//        List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(queryWrapper);
+        List<HistorySecondUav> historySecondUavs = historySecondUavMapper.reList(params);
+        if (ObjectUtils.isEmpty(historySecondUavs)){
+            return new ResultMessage(ResponseCodeEnum.TARGET_IS_NULL,"null");
+        }
+
         for (HistorySecondUav historySecondUav : historySecondUavs) {
             String value = historySecondUav.getValue();
             Map map1 = JSON.parseObject(value, Map.class);
@@ -123,7 +140,7 @@
         //������2
         String[] zuoxia = calLocationByDistanceAndLocationAndDirection(180, minLon, maxLat, 50);
 
-        for (int i = 0; i <distance2 ; i+=50) {
+        for (int i = 0; i <distance2 ; i+=size) {
             UAVGteForDTO dto1 = new UAVGteForDTO();
             String[] strings2 = calLocationByDistanceAndLocationAndDirection(90, minLon, maxLat, i);
             String[] strings3 = calLocationByDistanceAndLocationAndDirection(90, Double.parseDouble(youshang[0].toString()), Double.parseDouble(youshang[1].toString()), i);
@@ -134,7 +151,7 @@
             dto1.setRightBottom(strings4);
             dto1.setLeftBottom(strings5);
             list.add(dto1);
-            for (int j = 0; j < distance1; j+=50) {
+            for (int j = 0; j < distance1; j+=size) {
                 UAVGteForDTO dto2 = new UAVGteForDTO();
                 String[] strings6 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings2[0].toString()), Double.parseDouble(strings2[1].toString()), j);
                 String[] strings7 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings3[0].toString()), Double.parseDouble(strings3[1].toString()), j);
@@ -188,11 +205,12 @@
                 }
             }
 //            lists.add(list1);
+            //���������������������
             String result = getResult(doubleArrayList);
             rsMap.put(result,list1);
         }
 
-
+        //���������������������������������������
         ArrayList<UAVResultDTO> uavResultDTOS = new ArrayList<>();
         Set<String> strings = rsMap.keySet();
         for (String string : strings) {
@@ -214,22 +232,42 @@
             for (String s : list1) {
                 JSONObject jsonObject = JSON.parseObject(s);
                 //tvoc
-                String a99054 = jsonObject.get("a99054").toString();
+                Object a99054 = jsonObject.get("a99054");
+                if (!Objects.isNull(a99054)){
+                    TVOCArrayList.add(Double.parseDouble(a99054.toString()));
+                }
                 //pm2.5
-                String a34004 = jsonObject.get("a34004").toString();
+                Object a34004 = jsonObject.get("a34004");
+                if (!Objects.isNull(a34004)){
+                    PM25ArrayList.add(Double.parseDouble(a34004.toString()));
+                }
                 //������������
-                String a21026 = jsonObject.get("a21026").toString();
-                ///������������
-                String a21004 = jsonObject.get("a21004").toString();
-//                //������
+                Object a21026 = jsonObject.get("a21026");
+                if (!Objects.isNull(a21026)){
+                    SOArrayList.add(Double.parseDouble(a21026.toString()));
+                }
+
+                //������������
+                Object a21004 = jsonObject.get("a21004");
+                if (!Objects.isNull(a21004)){
+                    NOArrayList.add(Double.parseDouble(a21004.toString()));
+                }
+
+                //������
                 Object a01006 = jsonObject.get("a01006");
                 if (!Objects.isNull(a01006)){
                     QYArrayList.add(Double.parseDouble(a01006.toString()));
                 }
                 //pm10
-                String a34002 = jsonObject.get("a34002").toString();
+                Object a34002 = jsonObject.get("a34002");
+                if (!Objects.isNull(a34002)){
+                    PM10ArrayList.add(Double.parseDouble(a34002.toString()));
+                }
                 //co
-                String a21005 = jsonObject.get("a21005").toString();
+                Object a21005 = jsonObject.get("a21005");
+                if (!Objects.isNull(a21005)){
+                    COArrayList.add(Double.parseDouble(a21005.toString()));
+                }
                 //������
                 Object a01002 = jsonObject.get("a01002");
                 if (!Objects.isNull(a01002)){
@@ -240,14 +278,11 @@
                 if (!Objects.isNull(a01001)){
                     QYArrayList.add(Double.parseDouble(a01001.toString()));
                 }
-                String a05024 = jsonObject.get("a05024").toString();
-                TVOCArrayList.add(Double.parseDouble(a99054));
-                PM10ArrayList.add(Double.parseDouble(a34002));
-                PM25ArrayList.add(Double.parseDouble(a34004));
-                SOArrayList.add(Double.parseDouble(a21026));
-                NOArrayList.add(Double.parseDouble(a21004));
-                COArrayList.add(Double.parseDouble(a21005));
-                O3ArrayList.add(Double.parseDouble(a05024));
+                //������
+                Object a05024 = jsonObject.get("a05024");
+                if (!Objects.isNull(a05024)){
+                    O3ArrayList.add(Double.parseDouble(a05024.toString()));
+                }
 
             }
             double WDDouble =0.0;
@@ -291,16 +326,26 @@
                 O3Double = O3ArrayList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
             }
 
-            dto.setCoAvg(CODouble);
-            dto.setNO2Avg(NODouble);
-            dto.setO3Avg(O3Double);
-            dto.setTVOCAvg(TVODouble);
-            dto.setPM10Avg(PM10Double);
-            dto.setPM25Avg(PM25Double);
-            dto.setSO2Avg(SODouble);
-            dto.setWDAvg(WDDouble);
-            dto.setSHAvg(SHDouble);
-            dto.setQYAvg(QYDouble);
+//            dto.setCoAvg(CODouble);
+//            dto.setNO2Avg(NODouble);
+//            dto.setO3Avg(O3Double);
+//            dto.setTVOCAvg(TVODouble);
+//            dto.setPM10Avg(PM10Double);
+//            dto.setPM25Avg(PM25Double);
+//            dto.setSO2Avg(SODouble);
+//            dto.setWDAvg(WDDouble);
+//            dto.setSHAvg(SHDouble);
+//            dto.setQYAvg(QYDouble);
+            dto.setA21005(CODouble);
+            dto.setA21004(NODouble);
+            dto.setA05024(O3Double);
+            dto.setA99054(TVODouble);
+            dto.setA34002(PM10Double);
+            dto.setA34004(PM25Double);
+            dto.setA21026(SODouble);
+            dto.setA01001(WDDouble);
+            dto.setA01002(SHDouble);
+            dto.setA01006(QYDouble);
             String[] s = string.split("_");
             dto.setFlyLat(Double.parseDouble(s[1]));
             dto.setFlyLon(Double.parseDouble(s[0]));
@@ -411,7 +456,7 @@
         return s;
     }
 
-
+    //���������������
     public static String getResult(ArrayList<String[]> doubleArrayList){
 //        UAVResultDTO uavResultDTO = new UAVResultDTO();
             int total = doubleArrayList.size();
@@ -562,29 +607,6 @@
         }
         return IsPtInPoly(point,pointList);
 
-    }
-
-    public final static double x_pi = 3.14159265358979324 * 3000.0 / 180.0;
-
-    /**
-     * ���������������������������
-     *
-     * @param gd_lon ������
-     * @param gd_lat ������
-     * @return
-     */
-    public static Map<String, String> gd2bd(String gd_lon, String gd_lat) {
-        double longitude = Double.parseDouble(gd_lon);
-        double latitude = Double.parseDouble(gd_lat);
-        Map<String, String> data = new HashMap<>();
-        double x = longitude, y = latitude;
-        double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
-        double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
-        double bd_lon = z * Math.cos(theta) + 0.0065;
-        double bd_lat = z * Math.sin(theta) + 0.006;
-        data.put("lon", String.valueOf(bd_lon));
-        data.put("lat", String.valueOf(bd_lat));
-        return data;
     }
 
 }
diff --git a/screen-api/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java b/screen-api/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java
index 7ff7d65..8a2f291 100644
--- a/screen-api/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java
+++ b/screen-api/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java
@@ -1,7 +1,11 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+import java.util.Map;
+
 import com.moral.api.entity.HistorySecondUav;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.pojo.dto.uav.UAVResultDTO;
 
 /**
  * <p>
@@ -13,4 +17,6 @@
  */
 public interface HistorySecondUavMapper extends BaseMapper<HistorySecondUav> {
 
+
+    List<HistorySecondUav> reList(Map<String,Object> map);
 }
diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java b/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java
index b190ca2..a4514b6 100644
--- a/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java
+++ b/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVResultDTO.java
@@ -17,25 +17,47 @@
      */
     private Double flyLon;
 
-    private Double coAvg;
-
-    private Double SO2Avg;
-
-    private Double NO2Avg;
-
-    private Double PM10Avg;
-
-    private Double PM25Avg;
-
-    private Double TVOCAvg;
-
-    private Double O3Avg;
-
-    private Double WDAvg;
-
-    private Double SHAvg;
+//    private Double coAvg;
+//
+//    private Double SO2Avg;
+//
+//    private Double NO2Avg;
+//
+//    private Double PM10Avg;
+//
+//    private Double PM25Avg;
+//
+//    private Double TVOCAvg;
+//
+//    private Double O3Avg;
+//
+//    private Double WDAvg;
+//
+//    private Double SHAvg;
 
 
-    private Double QYAvg;
+//    private Double QYAvg;
+
+
+    private Double a21005;
+
+    private Double a21026;
+
+    private Double a21004;
+
+    private Double a34002;
+
+    private Double a34004;
+
+    private Double a99054;
+
+    private Double a05024;
+
+    private Double a01001;
+
+    private Double a01002;
+
+
+    private Double a01006;
 
 }
diff --git a/screen-api/src/main/resources/mapper/HistorySecondUavMapper.xml b/screen-api/src/main/resources/mapper/HistorySecondUavMapper.xml
index c237c8e..8756866 100644
--- a/screen-api/src/main/resources/mapper/HistorySecondUavMapper.xml
+++ b/screen-api/src/main/resources/mapper/HistorySecondUavMapper.xml
@@ -11,4 +11,10 @@
                     <result column="batch" property="batch" />
         </resultMap>
 
+    <select id="reList" resultType="com.moral.api.entity.HistorySecondUav">
+        SELECT `value`
+        FROM history_second_uav WHERE mac = #{mac}
+        AND batch = #{batch}
+        HAVING abs(`value`->>'$.flyhig') <![CDATA[>=]]> #{height}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0