|
@@ -5,6 +5,8 @@ import com.skyversation.poiaddr.addquery.AddressQueryEngine;
|
|
|
import com.skyversation.poiaddr.addquery.Constant;
|
|
|
import com.skyversation.poiaddr.bean.AddressResult;
|
|
|
import com.skyversation.poiaddr.config.DbConnection;
|
|
|
+import com.skyversation.poiaddr.entity.YyszAddressQp;
|
|
|
+import com.skyversation.poiaddr.service.AreaService;
|
|
|
import com.skyversation.poiaddr.service.impl.SjArrDzbzhSjWcbryDzxxServiceImpl;
|
|
|
import com.skyversation.poiaddr.util.AddressTools;
|
|
|
import com.skyversation.poiaddr.util.ExcelReaderUtils;
|
|
@@ -105,41 +107,33 @@ public class PoiAddressController {
|
|
|
@GetMapping(value = "/searchAddr")
|
|
|
public Object searchByAddrStr(@RequestParam(name = "address") String address) {
|
|
|
try {
|
|
|
- List<Map<String, Object>> fileData = ExcelReaderUtils.readExcel("C:\\Users\\Liumouren\\Desktop\\addrs.xlsx");
|
|
|
+ List<Map<String, Object>> fileData = ExcelReaderUtils.readExcel("C:\\Users\\Liumouren\\Desktop\\教育局剩余要解析的地址.xlsx");
|
|
|
if (fileData.size() == 0) {
|
|
|
return "文件解析失败!";
|
|
|
}
|
|
|
- List<Map<String,Object>> errorDatas = new ArrayList<>();
|
|
|
+ List<Map<String, Object>> errorDatas = new ArrayList<>();
|
|
|
JSONObject returnDatas = new JSONObject();
|
|
|
for (Map<String, Object> item : fileData) {
|
|
|
- List<String> addrs = new ArrayList<>();
|
|
|
- addrs.add("上海市青浦区" + item.get("对口街镇").toString() + item.get("对口路牌").toString());
|
|
|
- AddressResult addressResult = AddressQueryEngine.getInstance().commonSearchByName(addrs);
|
|
|
- if (addressResult != null) {
|
|
|
- List<AddressResult.ContentBean> data = addressResult.getData();
|
|
|
- if (data != null && data.size() > 0) {
|
|
|
- AddressResult.ContentBean contentBean = data.get(0);
|
|
|
- String level = contentBean.getScore();
|
|
|
- if (contentBean.getAddress().contains("青浦区") && contentBean.getAddress().contains(item.get("对口路牌").toString())) {
|
|
|
- JSONObject jsonObjectItem = new JSONObject();
|
|
|
- jsonObjectItem.put("name", item.get("对口路牌").toString());
|
|
|
- jsonObjectItem.put("address", contentBean.getAddress());
|
|
|
- jsonObjectItem.put("type", "diy");
|
|
|
- jsonObjectItem.put("level", level);
|
|
|
- jsonObjectItem.put("location", contentBean.getLon() + "," + contentBean.getLat());
|
|
|
- returnDatas.put(contentBean.getSearchAddress(), jsonObjectItem);
|
|
|
- }else{
|
|
|
- errorDatas.add(item);
|
|
|
- }
|
|
|
- }else{
|
|
|
+ List<YyszAddressQp> dbPois = AreaService.getInstance().getAddressPoisByAddr(item.get("对口路牌").toString());
|
|
|
+ if (dbPois != null && dbPois.size() > 0) {
|
|
|
+ YyszAddressQp requestData = dbPois.get(0);
|
|
|
+ if (requestData.getCounty().contains("青浦区") && requestData.getSourceaddress().contains(item.get("对口路牌").toString())) {
|
|
|
+ JSONObject jsonObjectItem = new JSONObject();
|
|
|
+ jsonObjectItem.put("name", item.get("对口路牌").toString());
|
|
|
+ jsonObjectItem.put("address", requestData.getSourceaddress());
|
|
|
+ jsonObjectItem.put("type", "diy");
|
|
|
+ jsonObjectItem.put("level", "rule_3");
|
|
|
+ jsonObjectItem.put("location", requestData.getLon() + "," + requestData.getLat());
|
|
|
+ returnDatas.put(item.get("对口路牌").toString(), jsonObjectItem);
|
|
|
+ } else {
|
|
|
errorDatas.add(item);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
errorDatas.add(item);
|
|
|
}
|
|
|
}
|
|
|
- if(errorDatas.size() > 0){
|
|
|
- ExcelReaderUtils.writeToExcel(errorDatas,"C:\\Users\\Liumouren\\Desktop\\errorDatas.xlsx");
|
|
|
+ if (errorDatas.size() > 0) {
|
|
|
+ ExcelReaderUtils.writeToExcel(errorDatas, "C:\\Users\\Liumouren\\Desktop\\errorDatas.xlsx");
|
|
|
}
|
|
|
return returnDatas;
|
|
|
} catch (Exception e) {
|