@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; }