From 3bc57d8582d3d13e7e653b0f04dd09742c3b2c15 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 23 Aug 2021 10:20:26 +0800
Subject: [PATCH] 走航车轨迹数据单因子-》所有因子

---
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
index 7b0bdc8..7e5d8c1 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -14,16 +14,21 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.service.SysDictDataService;
 import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
 import com.moral.util.DateUtils;
 import com.moral.util.GeodesyUtils;
+import com.moral.util.TokenUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -45,6 +50,9 @@
     @Autowired
     private SysDictDataService sysDictDataService;
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
     private final static Double dis = 50d;
 
     @Override
@@ -60,14 +68,29 @@
         String sensorUnit = sysDictDataService.getOne(sysDictDataQueryWrapper).getDataValue();
 
         params.put("sensorUnit", sensorUnit);*/
+        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
+        Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
+        Integer orgId = (Integer) orgInfo.get("id");
+        params.put("orgId", orgId);
         //������������������������������������
         List<Map<String, Object>> data = historySecondSpecialMapper.getSpecialDeviceData(params);
+        if (ObjectUtils.isEmpty(data)) {
+            return data;
+        }
         data.removeIf(o -> {
-            //������
-            double lng = Double.parseDouble(o.get(Constants.SENSOR_CODE_LON).toString());
-            //������
-            double lat = Double.parseDouble(o.get(Constants.SENSOR_CODE_LAT).toString());
-            return lng < 70 || lng > 150 || lat > 60 || lat < 20;
+            Map<String, Object> value = JSONObject.parseObject(o.remove("value").toString(), Map.class);
+            Object flylon = value.get("flylon");
+            Object flylat = value.get("flylat");
+            if (ObjectUtils.isEmpty(flylon) || ObjectUtils.isEmpty(flylat)) {
+                return true;
+            }
+            double lon = Double.parseDouble(flylon.toString());
+            double lat = Double.parseDouble(flylat.toString());
+            if (lon < 70 || lon > 150 || lat < 20 || lat > 60) {
+                return true;
+            }
+            o.putAll(value);
+            return false;
         });
         return filterData(data);
     }

--
Gitblit v1.8.0