yaozhixue 1 năm trước cách đây
mục cha
commit
36a7507bce

+ 3 - 0
src/main/java/com/zfire/jiasm/syncdata/service/PublicService.java

@@ -73,6 +73,9 @@ public interface PublicService {
     Boolean addFaOrderSms(OrderReAppointment rea);
     // 根据经纬度反查省市区街道信息
     Geographicallocation getRegionByAddress(String lng, String lat);
+    // 根据地址反查经纬度
+    String getLocationByAddress(String address);
+
     // 获取师傅在商户网点账号 平台师傅账号,商户网点编号,集团ID,平台网点ID
     Long getBrandWorkerId(String workerId,String brandWebsitId,String groupCompanyId, String websitId);
     // 获取师傅信息 平台师傅账号,商户网点编号,集团ID

+ 30 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/OrderServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -633,6 +634,35 @@ public class OrderServiceImpl extends ServiceImpl<OrderBaseMapper, OrderBase> im
                 orderBase.setStreet("");
             }
         }
+
+
+        // getLocationByAddress
+        if (StringUtils.isEmpty(orderBase.getLng()) || StringUtils.isEmpty(orderBase.getLat())){
+            String add = "";
+            if (StringUtils.isNotEmpty(orderBase.getProvince())){
+                add = add + orderBase.getProvince();
+            }
+            if (StringUtils.isNotEmpty(orderBase.getCity())){
+                add = add + orderBase.getCity();
+            }
+            if (StringUtils.isNotEmpty(orderBase.getArea())){
+                add = add + orderBase.getArea();
+            }
+            if (StringUtils.isNotEmpty(orderBase.getStreet())){
+                add = add + orderBase.getStreet();
+            }
+            if (StringUtils.isEmpty(add)){
+                return;
+            }
+            String lngLat = publicService.getLocationByAddress(add);
+            if (StringUtils.isEmpty(lngLat)){
+                return;
+            }
+            List<String> result = Arrays.asList(lngLat.split(","));
+
+            orderBase.setLng(result.get(0));
+            orderBase.setLat(result.get(1));
+        }
     }
 
     // 平台工单地理位置转成商户工单地理位置

+ 19 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/PublicServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zfire.jiasm.syncdata.service.impl;
 
 import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -838,6 +839,24 @@ public class PublicServiceImpl implements PublicService {
         return result;
     }
 
+    // 根据地址反查经纬度
+    @Override
+    public String getLocationByAddress(String address){
+        String url = "https://restapi.amap.com/v3/geocode/geo?key="+lbsWebKey+"&address="+address;
+        String s = HttpUtil.get(url);
+        JSONObject jsonObject = new JSONObject(s);
+        String status = jsonObject.getStr("status");
+        if(!status.equals("1")){
+            return null;
+        }
+        JSONArray geocodes = jsonObject.getJSONArray("geocodes");
+        if(org.springframework.util.CollectionUtils.isEmpty(geocodes))
+            return null;
+        Map<String, Object> map = (Map<String, Object>) geocodes.get(0);
+        String location = (String)map.get("location");
+        return location;
+    }
+
     // 获取gpsaddress
     @Override
     public String getGpsaddress(String lng, String lat){

+ 2 - 2
src/main/resources/bootstrap-dev.properties

@@ -288,7 +288,7 @@ workerceruploadc=FALSE
 detaildownc=FALSE
 #安装工单下载 、入本地表
 installdownc=FALSE
-installinc=FALSE
+installinc=TRUE
 #维修工单下载、入本地表
 repairdownc=FALSE
 repairinc=FALSE
@@ -381,7 +381,7 @@ glscc=FALSE
 tmscc=FALSE
 #安装工单上传  生成需要上传的数据、生成上传任务清单列表
 azuploadyscc=FALSE
-azuploadscc=TRUE
+azuploadscc=FALSE
 #维修工单上传  生成需要上传的数据、生成上传任务清单列表
 wxuploadyscc=FALSE
 wxuploadscc=FALSE

+ 4 - 4
src/main/resources/bootstrap-test.properties

@@ -175,11 +175,11 @@ workercertificate=60000
 workercerupload=60000
 detaildown=60000
 #安装工单下载 、入本地表
-installdown=60000
-installin=60000
+installdown=5000
+installin=5000
 #维修工单下载、入本地表
-repairdown=60000
-repairin=60000
+repairdown=5000
+repairin=5000
 #回收工单下载、获取工单的反馈明细数据、(获取对应的采集数据、附件数据、条码明细数据)、与总部进行确认下载完成、同步到业务表
 recycledown=60000
 recyclefkdown=60000