فهرست منبع

初始化流程优化,回流地址优化判断逻辑

DESKTOP-6LTVLN7\Liumouren 1 هفته پیش
والد
کامیت
14fff2d3e7

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

@@ -72,7 +72,7 @@ public class AddressQueryEngine {
         }
         AddressResult addressResult = new AddressResult();
         AddrBean lmrAddrBean = AddrSplitLmrMap.outAddrMapInAddr(addr);
-        if (lmrAddrBean.getRule() == null || Integer.parseInt(lmrAddrBean.getRule()) <= 0) {
+        if (lmrAddrBean.getRule() != null && Integer.parseInt(lmrAddrBean.getRule()) <= 0) {
             addressResult.setMessage("非上海数据");
             AddressResult.ContentBean content = new AddressResult.ContentBean();
             content.setSearchAddress(addr);

+ 4 - 10
src/main/java/com/skyversation/poiaddr/service/AreaService.java

@@ -6,10 +6,12 @@ import com.skyversation.poiaddr.addquery.AddressQueryEngine;
 import com.skyversation.poiaddr.addquery.Constant;
 import com.skyversation.poiaddr.bean.*;
 import com.skyversation.poiaddr.config.DbConnection;
+import com.skyversation.poiaddr.entity.AddrBean;
 import com.skyversation.poiaddr.service.impl.GrTableRepository;
 import com.skyversation.poiaddr.service.impl.PgTableRepository;
 import com.skyversation.poiaddr.service.impl.TAddressCallbackRepository;
 import com.skyversation.poiaddr.service.impl.YyszAddressRepository;
+import com.skyversation.poiaddr.util.AddrSplitLmrMap;
 import com.skyversation.poiaddr.util.MessageManage;
 import com.skyversation.poiaddr.util.ShanghaiAddressSplitUtil;
 import com.skyversation.poiaddr.util.SplitAddress;
@@ -356,21 +358,13 @@ public class AreaService {
      * @param addrStr
      */
     public void callBackErrorAddr(String addrStr) {
-//        System.out.println("尝试回流无结果数据:" + addrStr);
-        SplitAddress splitAddress = ShanghaiAddressSplitUtil.splitBestAddress(addrStr);
-        if (splitAddress.getStatus() == 3 || splitAddress.getStatus() == -1) {
-//            System.out.println("拒绝回流,检测到非地址");
-            return;
-        } else {
-            //      查询回流列表中是否存在
+        AddrBean lmrAddrBean = AddrSplitLmrMap.outAddrMapInAddr(addrStr);
+        if (lmrAddrBean.getRule() == null || Integer.parseInt(lmrAddrBean.getRule()) > 0) {
             if (!ScheduledTasks.callBackAllErrorAddrs.contains(addrStr)) {
                 TAddressCallback tAddressCallback = new TAddressCallback();
                 tAddressCallback.setSearchAddress(addrStr);
                 ScheduledTasks.callBackDatas.add(tAddressCallback);
                 ScheduledTasks.callBackAllErrorAddrs.add(addrStr);
-//                System.out.println("回流成功,等待进一检查处理");
-            } else {
-//                System.out.println("回流列表中已存在该数据!");
             }
         }
     }

+ 1 - 1
src/main/java/com/skyversation/poiaddr/service/impl/YyszAddressRepository.java

@@ -33,6 +33,6 @@ public interface YyszAddressRepository extends JpaRepository<YyskDmdzAddressStan
             "LIMIT 20;", nativeQuery = true)
     List<YyskDmdzAddressStandardization> getNearbySearch(@Param("lat") double lat, @Param("lon") double lon, @Param("radius") int radius);
 
-    @Query(value = "SELECT * FROM yysk_dmdz_address_standardization where `type` = 'zl_v4' and oid >:oid order by oid limit :pageSize", nativeQuery = true)
+    @Query(value = "SELECT * FROM yysk_dmdz_address_standardization where \"type\" = 'zl_v4' and oid >:oid order by oid limit :pageSize", nativeQuery = true)
     List<YyskDmdzAddressStandardization> getAllByOidPage(@Param("oid") int oid,@Param("pageSize") int pageSize);
 }