SKYVERSATION\root 1 月之前
父節點
當前提交
bbf980ff75

+ 14 - 5
src/main/java/com/skyversation/poiaddr/service/impl/YyskAddressStandardizationServiceImpl.java

@@ -379,18 +379,27 @@ public class YyskAddressStandardizationServiceImpl {
                 if (item.getAddress() != null && !item.getAddress().isEmpty()) {
                     addrList.add(item.getAddress());
                 }
-                boolean ifSearch = true;
+//              默认不查询
+                boolean ifSearch = false;
+//              首先过滤rule_0
                 if (item.getMatchLevel().contains("rule_0")) {
                     String[] addr = AddressMatcher.matchProvinceAndCity(item.getAddress());
-                    if (addr != null && !addr[0].contains("上海")) {
+//                  然后
+                    if(addr == null){
+                        ifSearch = true;
+                    }else if (!addr[0].contains("上海")) {
+//                      如果查询的地址完全包含省份和市名就不从新擦寻
                         if ((!addr[0].isEmpty() && (item.getAddress().contains(addr[0]) || addr[0].contains(item.getAddress()))) || (!addr[1].isEmpty() && (item.getAddress().contains(addr[1]) || addr[1].contains(item.getAddress())))) {
-                            item.setProvinces(addr[0]);
-                            item.setMarket(addr[1]);
                             ifSearch = false;
+                        }else{
+                            ifSearch = true;
                         }
                     }
+                }else if(item.getMatchLevel().contains("异常") && (item.getDistinguish() == null || item.getDistinguish().isEmpty() || item.getDistinguish().contains("[]"))){
+                    ifSearch = true;
+                }else if(item.getStandardAddress().contains("[]")){
+                    ifSearch = true;
                 }
-                ;
 //                  匹配全国省名
 //                  遍历全国城市名称匹配搜索地址市名
                 /*