luobang 2 éve
szülő
commit
11ebe8d6dc

+ 6 - 0
pom.xml

@@ -16,6 +16,7 @@
 
     <dependencyManagement>
         <dependencies>
+
             <dependency>
                 <groupId>org.springframework.cloud</groupId>
                 <artifactId>spring-cloud-dependencies</artifactId>
@@ -48,6 +49,11 @@
     </distributionManagement>
 
     <dependencies>
+        <dependency>
+            <groupId>com.getui.push</groupId>
+            <artifactId>restful-sdk</artifactId>
+            <version>1.0.0.8</version>
+        </dependency>
         <!--websocket-->
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 6 - 2
src/main/java/com/steerinfo/dil/controller/QmsQueueResultController.java

@@ -184,8 +184,12 @@ public class QmsQueueResultController extends BaseRESTfulController {
         return success(AllQueueCancel);
     }
 
-
-
+    @PostMapping("isInCircle")
+    public RESTfulResult isInCircle(String longitude,
+                                    String latitude,
+                                    String capacityNo){
+        return success(qmsQueueResultService.isInCircle(longitude,latitude,capacityNo));
+    }
 
 
 

+ 15 - 0
src/main/java/com/steerinfo/dil/service/impl/QmsQueueResultServiceImpl.java

@@ -9,6 +9,7 @@ import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.model.QmsQueueResult;
 import com.steerinfo.dil.mapper.QmsQueueResultMapper;
 import com.steerinfo.dil.service.IQmsQueueResultService;
+import com.steerinfo.dil.util.ElectronicFenceUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -52,6 +53,11 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
     @Autowired
     private QueueInterfaceMapper queueInterfaceMapper;
 
+    private String lonlat = "107.4628199,31.1925279"; //中心点坐标
+    private String radius = "15000"; //半径
+    private String lat1 = "31.1925279";
+    private String lng1 = "107.4628199";
+
     /**
      * 取消订阅方法
      */
@@ -230,6 +236,15 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
         return qmsQueueResultMapper.getQueueEndResult(map);
     }
 
+    public boolean isInCircle(String longitude, String latitude,String CapacityNo) {
+        boolean s =  ElectronicFenceUtils.isInRange(15000,new BigDecimal(latitude),new BigDecimal(longitude),new BigDecimal(lat1),new BigDecimal(lng1));
+        if(s){
+            int i = addQueueResult(CapacityNo,"否");
+            System.out.println(i);
+        }
+        return s;
+    }
+
     /**
      * 新增仓库排队实绩
      * @param map orderNumber运输订单号  loadingId 装车点

+ 3 - 3
src/main/java/com/steerinfo/dil/service/impl/QueueInterfaceServiceImpl.java

@@ -65,9 +65,9 @@ public class QueueInterfaceServiceImpl {
         mesMap.put("srt", srt);
         mesMap.put("userflag", userflag);
         String areaId = queueInterfaceMapper.getAreaId();
-        if(areaId==null){
-            return "区域id为空";
-        }
+        //if(areaId==null){
+        //    return "区域id为空";
+        //}
         mesMap.put("areaid", areaId);
         mesMap.put("vnos", (String) map.get("capacityNumber"));
         String url = "https://openapi.sinoiov.cn/save/apis/vnoReg";

+ 28 - 0
src/main/java/com/steerinfo/dil/util/ElectronicFenceUtils.java

@@ -0,0 +1,28 @@
+package com.steerinfo.dil.util;
+
+import java.math.BigDecimal;
+
+
+
+
+public class ElectronicFenceUtils {
+
+
+
+    public static  boolean isInRange(int raduis, BigDecimal lat, BigDecimal lng, BigDecimal lat1, BigDecimal lng1){
+        double R = 6378137.0;
+        double dLat = (lat1.doubleValue() - lat.doubleValue()) * Math.PI / 180;
+        double dLng = (lng1.doubleValue() - lng.doubleValue()) * Math.PI / 180;
+        double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(lat.doubleValue() * Math.PI / 180) * Math.cos(lat1.doubleValue() * Math.PI / 180) * Math.sin(dLng / 2) * Math.sin(dLng / 2);
+        double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
+        double d = R * c;
+        double dis = Math.round(d);
+        if (dis <= raduis){  //点在圆内
+            return true;
+        }else {
+            return false;
+        }
+    }
+
+
+}

+ 3 - 1
src/main/resources/application-prod.yml

@@ -3,7 +3,9 @@ spring:
       url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
       password: Dil123789
       username: dil
-      driver-class-name: oracle.jdbc.OracleDriver
+      driver-class-name: oracle.jdbc.
+      druid:
+        max-active: 20
   application:
     name: dil-trick-queue-prod