소스 검색

fix:查询运力实时调度列表bug

wangweiyu 4 년 전
부모
커밋
a89146f1f4

+ 38 - 0
src/main/java/com/aoyang/tms/controller/WorkOrderManageController.java

@@ -2,6 +2,8 @@ package com.aoyang.tms.controller;
 
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.aoyang.common.param.PageParam;
 import com.aoyang.common.result.Result;
 import com.aoyang.tms.common.ErrCodeEnum;
@@ -24,10 +26,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.netflix.ribbon.apache.HttpClientUtils;
 import org.springframework.web.bind.annotation.*;
+import sun.net.www.http.HttpClient;
 
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
+import java.net.URL;
 import java.net.URLDecoder;
 import java.time.LocalDateTime;
 import java.util.List;
@@ -135,5 +140,38 @@ public class WorkOrderManageController {
 //        return new Result<>(flag);
 //    }
 
+    public static String getProvince(String log, String lat){
+        //lat 小  log 大
+        //参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)
+        String urlString = "http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010";
+        String res = "";
+        try {
+            URL url = new URL(urlString);
+            java.net.HttpURLConnection conn = (java.net.HttpURLConnection)url.openConnection();
+            conn.setDoOutput(true);
+            conn.setRequestMethod("POST");
+            java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(),"UTF-8"));
+            String line;
+            while ((line = in.readLine()) != null) {
+                res += line+"\n";
+            }
+            in.close();
+        } catch (Exception e) {
+            System.out.println("error in wapaction,and e is " + e.getMessage());
+        }
+        System.out.println(res);
+        JSONObject jsonObject = JSONObject.parseObject(res);
+        JSONArray jsonArray = JSON.parseArray(jsonObject.getString("addrList"));
+        JSONObject jsonObject1 = jsonArray.getJSONObject(0);
+        String arr[] = jsonObject1.get("admName").toString().split(",");
+        System.out.println(arr[0]);
+        return arr[0];
+    }
+
+    public static void main(String[] args) {
+        String log = "116.42654793612228";
+        String lat = "39.944177062241515";
+        System.out.println("@@@ " + getProvince(log, lat));
+    }
 
 }

+ 4 - 0
src/main/java/com/aoyang/tms/controller/param/LocationQueryParam.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -29,12 +30,15 @@ public class LocationQueryParam implements Serializable {
     private String trailerCarNumber;
 
     @ApiModelProperty(value = "位置时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date localDate;
 
     @ApiModelProperty(value = "开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTime;
 
     @ApiModelProperty(value = "结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTime;
 
 }

+ 12 - 4
src/main/java/com/aoyang/tms/job/SpotCheckJob.java

@@ -1,5 +1,6 @@
 package com.aoyang.tms.job;
 
+import com.alibaba.fastjson.JSON;
 import com.aoyang.tms.common.WorkLogTypeEnum;
 import com.aoyang.tms.entity.*;
 import com.aoyang.tms.feign.result.TmsMongoDoc;
@@ -19,9 +20,11 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.NearQuery;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Component;
+import springfox.documentation.spring.web.json.Json;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -87,8 +90,9 @@ public class SpotCheckJob {
 //                    String latitude = spot.getLatitude();
 //                    String longitude = spot.getLongitude();
 //                    Point point = new Point(Double.valueOf(longitude), Double.valueOf(latitude));
-                    String regionDatas = spot.getRegionData();
-                    String[] dataList = regionDatas.split(";");
+                    String regionData = spot.getRegionData();
+                    String points = regionData.substring(2, regionData.length() - 2);
+                    String[] dataList = points.split(";");
                     Double[] lon = new Double[dataList.length];
                     Double[] lat = new Double[dataList.length];
                     for (int i=0;i<dataList.length;i++) {
@@ -157,8 +161,12 @@ public class SpotCheckJob {
         return ReturnT.SUCCESS;
     }
 
-    private TmsMongoDoc getGeoNear() {
-        return null;
+    public static void main(String[] args) {
+        String regionData = "[\"1,2;3,4;3,3\"]";
+        String points = regionData.substring(2, regionData.length() - 2);
+        System.out.println("@@ " + points);
+        String[] dataList = points.split(";");
+        System.out.println(JSON.toJSONString(dataList));
     }
 
 }