Эх сурвалжийг харах

调整回流处理逻辑。

DESKTOP-6LTVLN7\Liumouren 3 өдөр өмнө
parent
commit
df6299bfe3

+ 3 - 1
src/main/java/com/skyversation/poiaddr/addquery/AddressQueryEngine.java

@@ -141,6 +141,8 @@ public class AddressQueryEngine {
                     }
                     return addressResult;
                 }
+            }else{
+//              开始互联网请求并自动入库和加入缓存
             }
         }
         addressResult.setMessage("失败");
@@ -204,7 +206,7 @@ public class AddressQueryEngine {
                 }
                 break;
         }
-        if (address.startsWith("中山")) {
+        if (address.startsWith("中山") && paramObject.containsKey("value") && StringUtils.hasText(paramObject.get("value").toString()) && address.length() > 2) {
             if (!address.startsWith("中山街道")) {
                 paramObject.put("value", "中山街道" + paramObject.get("value").toString().substring(2));
             }

+ 1 - 1
src/main/java/com/skyversation/poiaddr/util/ShanghaiAddressSplitUtil.java

@@ -104,7 +104,7 @@ public class ShanghaiAddressSplitUtil {
             System.out.println("<<<<<<<<------开始网络连通性测试");
             long startTime = System.currentTimeMillis();
             List<String> addrs = new ArrayList<>();
-            addrs.add("上海市松江区乐都路339号");
+            addrs.add("上海市浦东新区芳心路251弄");
             AddressResult addressResult = AddressQueryEngine.getInstance().commonSearchByName(addrs);
             long endTime = System.currentTimeMillis();
             System.out.println(">>>>>>>>------网络连通性测试完成!用时" + (endTime - startTime) / 1000 + "秒!结果:" + addressResult);

+ 7 - 26
src/main/java/com/skyversation/poiaddr/util/tasks/ScheduledTasks.java

@@ -124,13 +124,11 @@ public class ScheduledTasks {
      * 如果返回了正确的数据,入到地址库表中,并更新state为2(同时添加到地址库中)
      * 否则更新状态为1
      */
-    @Scheduled(cron = "0 30 14 * * ?")
+    @Scheduled(cron = "0 15 2 * * ?")
     public void dbdataCallBackTask() {
         try {
-//          根据当前日期生成开始id
-            int startOid = 0;
             long startTime = System.currentTimeMillis();
-            System.out.println("《《《《《《《《《《《《《开始回流表查询并更新任务!Oid前缀为:" + getCurrentDateTimeByPatern("yyyyddMMhhmm"));
+            System.out.println("《《《《《《《《《《《《《开始回流表查询并更新任务!");
             if (callBackRunStatus != 1) {
                 Map<String, Object> infoItem = new HashMap<>();
                 infoItem.put("操作", "查询回流表中的数据");
@@ -159,14 +157,9 @@ public class ScheduledTasks {
                                 AddressResult.ContentBean contentBean = new AddressResult.ContentBean();
                                 AddressResult addressResult = AddressQueryEngine.getInstance().sj_szxSearchByName(addr, 3);
                                 if (addressResult != null && addressResult.getData() != null && addressResult.getData().size() > 0) {
-                                    for (AddressResult.ContentBean itemc : addressResult.getData()) {
-                                        if (itemc.getScore().contains("rule_") || Float.parseFloat(itemc.getScore()) > 2.0) {
-                                            contentBean = addressResult.getData().get(0);
-                                            break;
-                                        }
-                                    }
+                                    contentBean = addressResult.getData().get(0);
                                 }
-                                if (contentBean != null && contentBean.getLon() != null) {
+                                if (addressResult != null && contentBean != null && contentBean.getLon() != null) {
                                     SplitAddress splitAddress = ShanghaiAddressSplitUtil.splitBestAddress(addr);
                                     AddressQueryEngine.getInstance().getCjWgWgwByLoc(addressResult, splitAddress);
                                     item.setLat(contentBean.getLat().toString());
@@ -189,8 +182,7 @@ public class ScheduledTasks {
                                     item.setStatusTag(2);
 //                                  添加数据到地址库和缓存
                                     if (StringUtils.hasText(item.getLat()) && StringUtils.hasText(item.getLon())) {
-                                        startOid++;
-                                        addDmdzDataList.add(TAddressCallbackToYyskDmdzAddressStandardization(item, Long.valueOf(getCurrentDateTimeByPatern("yyyyddMMhhmm") + startOid)));
+                                        addDmdzDataList.add(TAddressCallbackToYyskDmdzAddressStandardization(item));
                                     }
                                 } else {
                                     item.setStatusTag(1);
@@ -200,7 +192,7 @@ public class ScheduledTasks {
                             item.setStatusTag(-1);
                         }
                         infoItem2.put("结束时间", System.currentTimeMillis());
-                        infoItem2.put("备注", "搜索地址" + item.getSearchAddress());
+                        infoItem2.put("备注", "搜索地址:" + item.getSearchAddress());
                         ScheduledTasks.logInfos.add(infoItem2);
                         updateCallBackDatas.add(item);
                         if (updateCallBackDatas.size() == 1000) {
@@ -258,7 +250,7 @@ public class ScheduledTasks {
      * @param tAddressCallback
      * @return
      */
-    public static YyskDmdzAddressStandardization TAddressCallbackToYyskDmdzAddressStandardization(TAddressCallback tAddressCallback, Long Oid) {
+    public static YyskDmdzAddressStandardization TAddressCallbackToYyskDmdzAddressStandardization(TAddressCallback tAddressCallback) {
         YyskDmdzAddressStandardization yyskDmdzAddressStandardization = new YyskDmdzAddressStandardization();
         yyskDmdzAddressStandardization.setSourceaddress(tAddressCallback.getCankaoAddress());
         yyskDmdzAddressStandardization.setAddress(tAddressCallback.getSearchAddress());
@@ -270,7 +262,6 @@ public class ScheduledTasks {
         yyskDmdzAddressStandardization.setCommunity(tAddressCallback.getCommunity());
         yyskDmdzAddressStandardization.setData_type("callBack");
         yyskDmdzAddressStandardization.setType("zl_v4");
-        yyskDmdzAddressStandardization.setOid(Oid);
 //      把请求到的数据放到缓存中
         yyskDmdzAddressStandardizationPutDmdz(yyskDmdzAddressStandardization);
         return yyskDmdzAddressStandardization;
@@ -375,16 +366,6 @@ public class ScheduledTasks {
         return previousDate.format(formatter);
     }
 
-    /**
-     * 获取当前时间的方法
-     *
-     * @return
-     */
-    public static String getCurrentDateTime() {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-dd-MM hh:mm:ss");
-        return sdf.format(new Date());
-    }
-
     /**
      * 根据格式返回当前时间的字符串
      * 标准格式:yyyy-dd-MM hh:mm:ss