From 275aa50b1de31ace0cb17fdf0b6f678a63267b3c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 10:14:01 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java
index 239e1dc..2c440ea 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java
@@ -25,6 +25,56 @@
         System.out.println(calculateDistance(39.326638d,116.363312d,31.326606,118.363272));
     }
 
+    public static DistanceCustomerModel calculateDistanceGaode(String urlStr, JkCustomer c1, JkCustomer c2) {
+        DistanceCustomerModel r =new DistanceCustomerModel();
+        r.setStart(c1);
+        r.setEnd(c2);
+        r.setDistance(0);
+        r.setCode(0);
+        r.setLocations( new ArrayList<>());
+        try {
+            String url  =urlStr.replace("${lat1}", Constants.formatBigdecimalScale(c1.getLatitude(),6)+"")
+                    .replace("${lat2}",Constants.formatBigdecimalScale(c2.getLatitude(),6)+"")
+                    .replace("${long1}",Constants.formatBigdecimalScale(c1.getLongitude(),6)+"")
+                    .replace("${long2}",Constants.formatBigdecimalScale(c2.getLongitude(),6)+"");
+            String result = HttpsUtil.get(url ,true);
+            JSONObject json = JSONObject.parseObject(result);
+            if(json!=null
+                    && json.getInteger("status")!=null
+                    && json.getInteger("status") ==1
+                    && json.getJSONObject("route")!=null
+                    && json.getJSONObject("route").getJSONArray("paths") !=null
+                    && json.getJSONObject("route").getJSONArray("paths") .size()>0 ){
+                JSONArray array = json.getJSONObject("route").getJSONArray("paths");
+                JSONObject model = array.getJSONObject(0);//鍙栫涓�涓�
+               Long distance = Long.parseLong(model.getString("distance"));
+               r.setDistance(distance);
+               JSONArray steps = model.getJSONArray("steps");
+               String tl = "";
+               if(steps!=null && steps.size()>0){
+                   for (int i = 0; i < steps.size(); i++) {
+                       if(StringUtils.isBlank(steps.getJSONObject(i).getString("polyline" ))){
+                           continue;
+                       }
+                       if(!tl.equals("") &&!tl.endsWith(";")){
+                           tl += ";";
+                       }
+                       tl+= steps.getJSONObject(i).getString("polyline" );
+                   }
+               }
+               r.setPolyline(tl);
+               r.setLocations(Arrays.asList(tl.split(";")));
+               r.setCode(1);
+               log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�==============");
+            }else{
+                log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触锛侊紒=========");
+            }
+        }catch (Exception e){
+            log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触==========");
+        }
+
+        return r ;
+    }
     public static DistanceModel calculateDistanceGaode(String urlStr, JkSketchCustomer c1, JkSketchCustomer c2) {
         DistanceModel r =new DistanceModel();
         r.setStart(c1);

--
Gitblit v1.9.3