ソースを参照

怎么会有key为null的?啊?我百思不得其解啊。天哪,这是啥啊

DESKTOP-6LTVLN7\Liumouren 1 週間 前
コミット
f7d414aea5
1 ファイル変更20 行追加15 行削除
  1. 20 15
      src/main/java/com/skyversation/poiaddr/service/AreaService.java

+ 20 - 15
src/main/java/com/skyversation/poiaddr/service/AreaService.java

@@ -123,12 +123,15 @@ public class AreaService {
         }
         //          查询callback表中最大的id和添加到callBackAllErrorAddrs列表中
         try {
+            long startTime = System.currentTimeMillis();
             List<TAddressCallback> tAddressCallbacks = tAddressCallbackRepository.findAll();
             if (tAddressCallbacks.size() > 0) {
                 for (TAddressCallback tAddressCallback : tAddressCallbacks) {
                     ScheduledTasks.callBackAllErrorAddrs.add(tAddressCallback.getSearchAddress());
                 }
             }
+            long endTime = System.currentTimeMillis();
+            System.out.println(">>>>>>>>------回流表数据缓存成功!用时" + (endTime - startTime) / 1000 + "秒!结果:" + ScheduledTasks.callBackAllErrorAddrs.size() + "条!");
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -353,28 +356,30 @@ public class AreaService {
         String addr = splitAddress.getSearchAddr();
         List<YyskDmdzAddressStandardization> returnDatas = new ArrayList<>();
         for (String key : ScheduledTasks.allDmdzData.keySet()) {
-            if (key != null && addr != null && returnDatas.size() < 20) {
-                if (key.contains(addr)) {
-                    returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
-                } else {
-                    String addr2 = addr + "";
-                    if (addr2.contains("号")) {
-                        addr2 = addr2.substring(0, addr2.indexOf("号"));
-                    }
-                    if (addr2.contains("弄")) {
-                        addr2 = addr2.substring(0, addr2.indexOf("弄"));
-                    }
-                    if (key.contains(addr2)) {
+            if (key != null) {
+                if (addr != null && returnDatas.size() < 20) {
+                    if (key.contains(addr)) {
                         returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
                     } else {
-                        addr2 = addr2.replaceAll("(?<=[^\\d])\\d+$", "");
+                        String addr2 = addr + "";
+                        if (addr2.contains("号")) {
+                            addr2 = addr2.substring(0, addr2.indexOf("号"));
+                        }
+                        if (addr2.contains("弄")) {
+                            addr2 = addr2.substring(0, addr2.indexOf("弄"));
+                        }
                         if (key.contains(addr2)) {
                             returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
+                        } else {
+                            addr2 = addr2.replaceAll("(?<=[^\\d])\\d+$", "");
+                            if (key.contains(addr2)) {
+                                returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
+                            }
                         }
                     }
+                } else {
+                    break;
                 }
-            } else {
-                break;
             }
         }
 //      对于区的精准查询