package com.smartearth.poiexcel.service; import com.alibaba.fastjson.JSONObject; import com.smartearth.poiexcel.entity.DkEntity; import com.smartearth.poiexcel.utils.RestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; /** * 地块服务类 * @author WWW * @date 2023-10-05 */ @Service @SuppressWarnings("ALL") public class DkService { @Value("${dk.host}") String host; private final static Log log = LogFactory.getLog(DkService.class); private final static String GET_INFO_URL = "%s/poisearch/guihuacon/getInfo?ydbm=%s"; private final static String GET_ENT_BASE_INFO = "%s/yqfwg/api/project/getEntBaseInfoForOtherSysListPage?ctoken=%s&showCount=%d¤tPage=%d"; /** * 根据编号更新 */ public boolean updateByBh(DkEntity dk) { try { String url = String.format(GET_INFO_URL, host, dk.getDikuaibianhao()); RestTemplate rest = RestHelper.getRestTemplate(); JSONObject obj = rest.getForObject(url, JSONObject.class); if (null == obj || !"200".equals(obj.get("code").toString()) || null == obj.getJSONObject("data")) { return false; } JSONObject data = obj.getJSONObject("data"); JSONObject cr = data.getJSONObject("churangxinxi"); JSONObject yd = data.getJSONObject("yongdishuju"); if (null == cr && null == yd) { return false; } if (null != cr) { dk.setYdbh(cr.getString("ydbh")); dk.setXmmc(cr.getString("xmmc")); dk.setYdlx(cr.getString("ydlx")); dk.setCyfx(cr.getString("cyfx")); dk.setYdmj(getDouble(cr, "ydmj")); dk.setXmdz(cr.getString("xmdz")); dk.setCrnx(getInteger(cr, "crnx")); dk.setCrnf(getInteger(cr, "crnf")); } if (null != yd) { dk.setYdbh(yd.getString("ydbh")); dk.setXmmc(yd.getString("xmmc")); dk.setYdlx(yd.getString("ydlx")); dk.setYdmj(getDouble(yd,"ydmj")); dk.setXmdz(yd.getString("xmdz")); dk.setRjl(getDouble(yd,"rjl")); dk.setYdlxmc(yd.getString("ydlxmc")); dk.setCyfx(yd.getString("cyfx")); dk.setJzxg(getDouble(yd,"jzxg")); } return true; } catch (Exception ex) { log.error(ex.getMessage(), ex); return false; } } private Integer getInteger(JSONObject obj, String key) { try { return obj.getInteger(key); } catch (Exception ex) { return null; } } private Double getDouble(JSONObject obj, String key) { try { return obj.getDouble(key); } catch (Exception ex) { return null; } } /** * 根据坐标更新 */ public boolean updateByCoord(DkEntity dk) { try { // return true; } catch (Exception ex) { log.error(ex.getMessage(), ex); return false; } } }