|
@@ -376,7 +376,7 @@ public class AreaService {
|
|
|
for (PendingGovernanceIntermediateTable item : dataList) {
|
|
|
i++;
|
|
|
System.out.print(">" + i);
|
|
|
- AddressResult addressResult = AddressQueryEngine.getInstance().commonSearchByName_nw(item.getOriginalAddress());
|
|
|
+ AddressResult addressResult = AddressQueryEngine.getInstance().commonSearchByName_nw(item.getOriginalAddress(), 3);
|
|
|
GovernanceResultsTable governanceResultsTable = new GovernanceResultsTable();
|
|
|
governanceResultsTable.setOriginalAddress(item.getOriginalAddress());
|
|
|
governanceResultsTable.setBatchNumber(item.getBatchNumber());
|
|
@@ -436,16 +436,18 @@ public class AreaService {
|
|
|
* 批量插入数据到callback表
|
|
|
*/
|
|
|
public void callBackAddrs() {
|
|
|
-// TOOD jpa
|
|
|
- try {
|
|
|
- List<TAddressCallback> tAddressCallbacks = tAddressCallbackRepository.saveAll(ScheduledTasks.callBackDatas);
|
|
|
- if (tAddressCallbacks.size() > 0) {
|
|
|
- ScheduledTasks.callBackDatas.clear();
|
|
|
- System.out.println("数据回流成功");
|
|
|
+// TODO jpa
|
|
|
+ if (ScheduledTasks.callBackDatas != null && ScheduledTasks.callBackDatas.size() > 0) {
|
|
|
+ try {
|
|
|
+ List<TAddressCallback> tAddressCallbacks = tAddressCallbackRepository.saveAll(ScheduledTasks.callBackDatas);
|
|
|
+ if (tAddressCallbacks.size() > 0) {
|
|
|
+ ScheduledTasks.callBackDatas.clear();
|
|
|
+ System.out.println("数据回流成功");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ System.out.println("数据回流异常:" + e);
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- System.out.println("数据回流异常:" + e);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -471,30 +473,35 @@ public class AreaService {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<YyskDmdzAddressStandardization> getDmdzAddressByRoadInfos(String addr2) {
|
|
|
+ public List<YyskDmdzAddressStandardization> getDmdzAddressByRoadInfos(String addr2, int sl) {
|
|
|
List<YyskDmdzAddressStandardization> returnDatas = new ArrayList<>();
|
|
|
Map<String, String> roadInfos = AddrSplitLmrMap.parseAddress(addr2);
|
|
|
if (roadInfos != null && roadInfos.containsKey("路名") && roadInfos.get("路名") != null && StringUtils.hasText(roadInfos.get("路名"))) {
|
|
|
- addr2 = roadInfos.get("路名") + (StringUtils.hasText(roadInfos.get("弄号")) ? roadInfos.get("弄号") : "") + (StringUtils.hasText(roadInfos.get("楼栋号")) ? roadInfos.get("楼栋号") : "");
|
|
|
+// 搜索等级:【1:路名、2:弄号、3:楼栋号】
|
|
|
+ switch (sl) {
|
|
|
+ case 1:
|
|
|
+ addr2 = roadInfos.get("路名");
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ addr2 = roadInfos.get("路名") + (StringUtils.hasText(roadInfos.get("弄号")) ? roadInfos.get("弄号") : "");
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ addr2 = roadInfos.get("路名") + (StringUtils.hasText(roadInfos.get("弄号")) ? roadInfos.get("弄号") : "") + (StringUtils.hasText(roadInfos.get("楼栋号")) ? roadInfos.get("楼栋号") : "");
|
|
|
+ break;
|
|
|
+ }
|
|
|
if (ScheduledTasks.allDmdzData.containsKey(addr2)) {
|
|
|
returnDatas = ScheduledTasks.allDmdzData.get(addr2);
|
|
|
} else {
|
|
|
- addr2 = roadInfos.get("路名") + (StringUtils.hasText(roadInfos.get("弄号")) ? roadInfos.get("弄号") : "");
|
|
|
- if (ScheduledTasks.allDmdzData.containsKey(addr2)) {
|
|
|
- returnDatas = ScheduledTasks.allDmdzData.get(addr2);
|
|
|
- } else {
|
|
|
- for (String key : ScheduledTasks.allDmdzData.keySet()) {
|
|
|
+ for (String key : ScheduledTasks.allDmdzData.keySet()) {
|
|
|
// TODO 地址库有离谱的骚东西
|
|
|
- if (key != null && key.contains(addr2)) {
|
|
|
- returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
|
|
|
- break;
|
|
|
- }
|
|
|
+ if (key != null && key.contains(addr2) && returnDatas.size() < 20) {
|
|
|
+ returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
for (String key : ScheduledTasks.allDmdzData.keySet()) {
|
|
|
-// TODO 地址库有离谱的骚东西
|
|
|
+// TODO 地址库有离谱的骚东西
|
|
|
if (key != null && addr2 != null && key.contains(addr2)) {
|
|
|
returnDatas.addAll(ScheduledTasks.allDmdzData.get(key));
|
|
|
break;
|
|
@@ -504,7 +511,7 @@ public class AreaService {
|
|
|
return returnDatas;
|
|
|
}
|
|
|
|
|
|
- public List<YyskDmdzAddressStandardization> getAddressPoiOnlyDB(SplitAddress splitAddress) {
|
|
|
+ public List<YyskDmdzAddressStandardization> getAddressPoiOnlyDB(SplitAddress splitAddress, int sl) {
|
|
|
// TODO 数据库查询逻辑调整为内存处理的方式
|
|
|
String addr = splitAddress.getAddr();
|
|
|
String addr2 = addr + "";
|
|
@@ -512,7 +519,7 @@ public class AreaService {
|
|
|
if (lmrAddrBean.getAddress() != null) {
|
|
|
addr2 = lmrAddrBean.getAddress();
|
|
|
}
|
|
|
- List<YyskDmdzAddressStandardization> returnDatas = getDmdzAddressByRoadInfos(addr2);
|
|
|
+ List<YyskDmdzAddressStandardization> returnDatas = getDmdzAddressByRoadInfos(addr2, sl);
|
|
|
// 对于区的精准查询
|
|
|
List<YyskDmdzAddressStandardization> returnDatas2 = new ArrayList<>();
|
|
|
if (StringUtils.hasText(splitAddress.getDistrict())) {
|