Example #1
0
 @Override
 public ListedCompanyEntity syncCoordinates(StockEntity stock) {
   ListedCompanyEntity listedComapny = listedCompanyDao.getById(stock.getIdListedCompany());
   if (listedComapny.getLatitude() == null
       || listedComapny.getLongitude() == null
       || listedComapny.getAddressCode() == null) {
     Map<String, String> gaodeMap = DDConstant.gaodeMap();
     // 设置请求参数
     Map<String, Object> args =
         objectMap(
             "key", gaodeMap.get("amap-web-key"), "address", listedComapny.getRegisteredAddress());
     // 请求
     Map<String, Object> data = HttpUtil.getJsonAsMap(gaodeMap.get("amap-geocode"), args);
     // 解析数据
     @SuppressWarnings("unchecked")
     List<Map<String, Object>> geocodes = (List<Map<String, Object>>) data.get("geocodes");
     if (geocodes.size() > 0) {
       Map<String, Object> m0 = geocodes.get(0);
       ListedCompanyEntity lc = new ListedCompanyEntity();
       lc.setId(listedComapny.getId());
       lc.setAddressCode(String.valueOf(m0.get("adcode")));
       String[] ll = String.valueOf(m0.get("location")).split(",");
       lc.setLongitude(ll[0]);
       lc.setLatitude(ll[1]);
       listedCompanyDao.lazyUpdate(lc);
       return lc;
     } else {
       log.debug("同步经纬信息出错::{}", data);
     }
   }
   return listedComapny;
 }