Browse Source

接口/sd处理逻辑优化

DESKTOP-6LTVLN7\Liumouren 3 weeks ago
parent
commit
ff21db1663

+ 23 - 27
src/main/java/com/skyversation/poiaddr/controller/CorporateLibraryController.java

@@ -135,8 +135,19 @@ public class CorporateLibraryController {
                 if (dataItem.get("real_address") != null) {
                 if (dataItem.get("real_address") != null) {
                     String addr = dataItem.get("real_address").toString();
                     String addr = dataItem.get("real_address").toString();
                     AddressResult addressResult = AddressQueryEngine.getInstance().commonSearchByName_nw(addr);
                     AddressResult addressResult = AddressQueryEngine.getInstance().commonSearchByName_nw(addr);
+                    AddressResult.ContentBean contentBean = new AddressResult.ContentBean();
                     if (addressResult != null && addressResult.getCode() == AddressResultEnum.DB_SUCCESS && addressResult.getData() != null && addressResult.getData().size() > 0) {
                     if (addressResult != null && addressResult.getCode() == AddressResultEnum.DB_SUCCESS && addressResult.getData() != null && addressResult.getData().size() > 0) {
-                        AddressResult.ContentBean contentBean = addressResult.getData().get(0);
+                        contentBean = addressResult.getData().get(0);
+                        dataItem.put("type", "db");
+                    } else {
+                        addressResult = AddressQueryEngine.getInstance().sj_szxSearchByName(addr, 3);
+                        if (addressResult != null && addressResult.getData() != null && addressResult.getData().size() > 0) {
+                            contentBean = addressResult.getData().get(0);
+                            dataItem.put("type", "szx");
+                        }
+                    }
+                    if(contentBean != null && contentBean.getLon() != null){
+                        AddressQueryEngine.getInstance().getCjWgWgwByLoc(addressResult);
                         dataItem.put("lat", contentBean.getLat());
                         dataItem.put("lat", contentBean.getLat());
                         dataItem.put("lon", contentBean.getLon());
                         dataItem.put("lon", contentBean.getLon());
                         dataItem.put("pname", contentBean.getPname());
                         dataItem.put("pname", contentBean.getPname());
@@ -145,33 +156,18 @@ public class CorporateLibraryController {
                         dataItem.put("community", contentBean.getCommunity());
                         dataItem.put("community", contentBean.getCommunity());
                         dataItem.put("distance", contentBean.getCommunity());
                         dataItem.put("distance", contentBean.getCommunity());
                         dataItem.put("standard_address", contentBean.getStandAddr());
                         dataItem.put("standard_address", contentBean.getStandAddr());
-                        dataItem.put("type", "db");
-                    } else {
-                        addressResult = AddressQueryEngine.getInstance().sj_szxSearchByName(addr, 3);
-                        if (addressResult != null && addressResult.getData() != null && addressResult.getData().size() > 0) {
-                            AddressQueryEngine.getInstance().getCjWgWgwByLoc(addressResult);
-                            AddressResult.ContentBean contentBean = addressResult.getData().get(0);
-                            dataItem.put("lat", contentBean.getLat());
-                            dataItem.put("lon", contentBean.getLon());
-                            dataItem.put("pname", contentBean.getPname());
-                            dataItem.put("county", contentBean.getCityname());
-                            dataItem.put("street_town_name", contentBean.getAdname());
-                            dataItem.put("community", contentBean.getCommunity());
-                            dataItem.put("distance", contentBean.getCommunity());
-                            SplitAddress splitAddress = ShanghaiAddressSplitUtil.splitBestAddress(addr);
-                            if (splitAddress != null) {
-                                if (!StringUtils.hasText(contentBean.getPname())) {
-                                    contentBean.setPname(splitAddress.getCity());
-                                    dataItem.put("pname", splitAddress.getCity());
-                                }
-                                if (!StringUtils.hasText(contentBean.getPname())) {
-                                    contentBean.setPname("上海市");
-                                    dataItem.put("pname", "上海市");
-                                }
-                                dataItem.put("standard_address", contentBean.getPname() + contentBean.getCityname() +
-                                        contentBean.getAdname() + contentBean.getCommunity() + splitAddress.getAddr());
+                        SplitAddress splitAddress = ShanghaiAddressSplitUtil.splitBestAddress(addr);
+                        if (splitAddress != null) {
+                            if (!StringUtils.hasText(contentBean.getPname())) {
+                                contentBean.setPname(splitAddress.getCity());
+                                dataItem.put("pname", splitAddress.getCity());
                             }
                             }
-                            dataItem.put("type", "szx");
+                            if (!StringUtils.hasText(contentBean.getPname())) {
+                                contentBean.setPname("上海市");
+                                dataItem.put("pname", "上海市");
+                            }
+                            dataItem.put("standard_address", contentBean.getPname() + contentBean.getCityname() +
+                                    contentBean.getAdname() + contentBean.getCommunity() + splitAddress.getAddr());
                         }
                         }
                     }
                     }
                 }
                 }