| | |
| | | package cn.gistack.nky.service.impl; |
| | | |
| | | import cn.gistack.nky.resultpojo.DataBigResultPojo; |
| | | import cn.gistack.nky.resultpojo.DataResChildrenPo; |
| | | import cn.gistack.nky.resultpojo.DataResPo; |
| | | import cn.gistack.nky.resultpojo.ZtResultPo; |
| | | import cn.gistack.common.utils.SpringContextUtil; |
| | | import cn.gistack.nky.resultpojo.*; |
| | | import cn.gistack.nky.service.IZtApiService; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.tool.utils.ObjectUtil; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.http.HttpEntity; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | |
| | | * @DATE: 2023/7/28 17:16 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class ZtApiServiceImpl implements IZtApiService { |
| | | |
| | | //本地测试 |
| | | private static final String LOCAL = "https://sk.hubeishuiyi.cn"; |
| | | //线上 |
| | | private static final String ONLINE = "http://10.42.6.192"; |
| | | |
| | | |
| | | private static final String API_KEY = "F1DBECD719108635189480CF60E6553ADB3109616426BD537F25A430DFC613B491A025C4A51E77FD08C6E5B7CBE05917A461286E7B6D69F1AB1B14F946149D2065B0C675F8FEDF4B9B05C1496881BC5A"; |
| | | |
| | | /** |
| | | * 实时渗压监测 |
| | | */ |
| | | private static final String LASTEST_OSMOTIC_PRESSURE = "https://sk.hubeishuiyi.cn/services/1234567890ABCDEFGHIJKLMN/monitor/lastest_osmotic_pressure/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999"; |
| | | private static final String LASTEST_OSMOTIC_PRESSURE = "/services/1234567890ABCDEFGHIJKLMN/monitor/lastest_osmotic_pressure/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999"; |
| | | |
| | | /** |
| | | * 位移监测 |
| | | */ |
| | | private static final String WY_API = "https://sk.hubeishuiyi.cn/services/1234567890ABCDEFGHIJKLMN/monitor/wy/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999"; |
| | | private static final String WY_API ="/services/1234567890ABCDEFGHIJKLMN/monitor/wy/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999"; |
| | | |
| | | /** |
| | | * 渗流监测 |
| | | */ |
| | | private static final String SL_API ="/services/1234567890ABCDEFGHIJKLMN/monitor/sl/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999"; |
| | | |
| | | private static final String RES_DAM_MONITOR ="/services/1234567890ABCDEFGHIJKLMN/res_dam_monitor/api?province_cd=420000000000&res_nm="; |
| | | private static final String BASE_CD ="/services/1234567890ABCDEFGHIJKLMN/base/cd/api"; |
| | | |
| | | |
| | | int getSyCount = 0; |
| | | @Override |
| | | public List<DataResChildrenPo> getSy() { |
| | | getSyCount = getSyCount +1; |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | return getData(LASTEST_OSMOTIC_PRESSURE, "get", params); |
| | | try { |
| | | log.info("第{}次请求",getSyCount); |
| | | List<DataResChildrenPo> get = getData(LASTEST_OSMOTIC_PRESSURE, "get", params); |
| | | getSyCount = 0; |
| | | return get; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | if (getSyCount<=5){ |
| | | return this.getSy(); |
| | | }else { |
| | | List<DataResChildrenPo> list = new ArrayList<>(); |
| | | return list; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | return getData(WY_API, "get", params); |
| | | } |
| | | |
| | | int getResSyCount = 0; |
| | | @Override |
| | | public List<DataResPo> getResSy() { |
| | | getResSyCount = getResSyCount +1; |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | return getResData(LASTEST_OSMOTIC_PRESSURE, "get", params); |
| | | try { |
| | | log.info("第{}次请求",getResSyCount); |
| | | List<DataResPo> get = getResData(LASTEST_OSMOTIC_PRESSURE, "get", params); |
| | | getResSyCount = 0; |
| | | return get; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | if (getResSyCount<=5){ |
| | | return this.getResSy(); |
| | | }else { |
| | | List<DataResPo> list = new ArrayList<>(); |
| | | return list; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | return getResData(WY_API, "get", params); |
| | | } |
| | | |
| | | @Override |
| | | public List<DataResPo> getResSl() { |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | return getResData(SL_API, "get", params); |
| | | } |
| | | |
| | | @Override |
| | | public List<DataResChildrenPo> getSl() { |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | return getData(SL_API, "get", params); |
| | | } |
| | | |
| | | @Override |
| | | public List<ResDamMonitorResult> getResDamMonitor() { |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | return getResDamMonitorResult(RES_DAM_MONITOR, "get", params); |
| | | } |
| | | |
| | | @Override |
| | | public List<BaseCd> getBaseCd(String resGuid, String type) { |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | String url = BASE_CD + StringUtil.format("?res_cd={}&type={}",resGuid,type); |
| | | // 获取环境 |
| | | String activeProfile = SpringContextUtil.getActiveProfile(); |
| | | if (activeProfile.equals("dev")) { |
| | | url = LOCAL+ url ; |
| | | } |
| | | if (activeProfile.equals("prod")) { |
| | | url = ONLINE+ url ; |
| | | } |
| | | if (activeProfile.equals("test")) { |
| | | url = ONLINE + url; |
| | | } |
| | | |
| | | HttpMethod method; |
| | | method = HttpMethod.GET; |
| | | // 声明一个header变量 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 设置apikey |
| | | headers.set("apikey",API_KEY); |
| | | |
| | | HttpEntity<String> httpEntity = new HttpEntity(null, headers); |
| | | log.info("中台请求地址:{}", url); |
| | | RestTemplate template = new RestTemplate(); |
| | | ResponseEntity<ZtResultPo2> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResultPo2.class,params); |
| | | List<BaseCd> returnResult = new ArrayList<>(); |
| | | if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) { |
| | | returnResult = ztResultPojoResponseEntity.getBody().getData(); |
| | | } |
| | | return returnResult; |
| | | } |
| | | |
| | | private List<DataResChildrenPo> getData(String url, String type, Map<String, Object> params) { |
| | | // 获取环境 |
| | | String activeProfile = SpringContextUtil.getActiveProfile(); |
| | | if (activeProfile.equals("dev")) { |
| | | url = LOCAL+ url ; |
| | | } |
| | | if (activeProfile.equals("prod")) { |
| | | url = ONLINE+ url ; |
| | | } |
| | | if (activeProfile.equals("test")) { |
| | | url = ONLINE + url; |
| | | } |
| | | |
| | | HttpMethod method; |
| | | if (type.toLowerCase().equals("get".toLowerCase())) { |
| | | method = HttpMethod.GET; |
| | |
| | | // 声明一个header变量 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 设置apikey |
| | | headers.set("apikey","F1DBECD719108635189480CF60E6553ADB3109616426BD537F25A430DFC613B491A025C4A51E77FD08C6E5B7CBE05917A461286E7B6D69F1AB1B14F946149D2065B0C675F8FEDF4B9B05C1496881BC5A"); |
| | | headers.set("apikey",API_KEY); |
| | | |
| | | HttpEntity<String> httpEntity = new HttpEntity(null, headers); |
| | | |
| | | RestTemplate template = new RestTemplate(); |
| | | log.info("中台请求地址:{}", url); |
| | | ResponseEntity<ZtResultPo> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResultPo.class,params); |
| | | if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) { |
| | | List<DataResChildrenPo> children = new ArrayList<>(); |
| | |
| | | } |
| | | |
| | | private List<DataResPo> getResData(String url, String type, Map<String, Object> params){ |
| | | |
| | | // 获取环境 |
| | | String activeProfile = SpringContextUtil.getActiveProfile(); |
| | | if (activeProfile.equals("dev")) { |
| | | url = LOCAL+ url ; |
| | | } |
| | | if (activeProfile.equals("prod")) { |
| | | url = ONLINE+ url ; |
| | | } |
| | | if (activeProfile.equals("test")) { |
| | | url = ONLINE + url; |
| | | } |
| | | |
| | | |
| | | HttpMethod method; |
| | | if (type.toLowerCase().equals("get".toLowerCase())) { |
| | | method = HttpMethod.GET; |
| | |
| | | // 声明一个header变量 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 设置apikey |
| | | headers.set("apikey","F1DBECD719108635189480CF60E6553ADB3109616426BD537F25A430DFC613B491A025C4A51E77FD08C6E5B7CBE05917A461286E7B6D69F1AB1B14F946149D2065B0C675F8FEDF4B9B05C1496881BC5A"); |
| | | headers.set("apikey",API_KEY); |
| | | |
| | | HttpEntity<String> httpEntity = new HttpEntity(null, headers); |
| | | |
| | | log.info("中台请求地址:{}", url); |
| | | RestTemplate template = new RestTemplate(); |
| | | ResponseEntity<ZtResultPo> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResultPo.class,params); |
| | | if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) { |
| | |
| | | return null; |
| | | } |
| | | |
| | | private List<ResDamMonitorResult> getResDamMonitorResult(String url, String type, Map<String, Object> params){ |
| | | |
| | | // 获取环境 |
| | | String activeProfile = SpringContextUtil.getActiveProfile(); |
| | | if (activeProfile.equals("dev")) { |
| | | url = LOCAL+ url ; |
| | | } |
| | | if (activeProfile.equals("prod")) { |
| | | url = ONLINE+ url ; |
| | | } |
| | | if (activeProfile.equals("test")) { |
| | | url = ONLINE + url; |
| | | } |
| | | |
| | | |
| | | HttpMethod method; |
| | | if (type.toLowerCase().equals("get".toLowerCase())) { |
| | | method = HttpMethod.GET; |
| | | } else { |
| | | method = HttpMethod.POST; |
| | | } |
| | | // 声明一个header变量 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | // 设置apikey |
| | | headers.set("apikey",API_KEY); |
| | | |
| | | HttpEntity<String> httpEntity = new HttpEntity(null, headers); |
| | | log.info("中台请求地址:{}", url); |
| | | RestTemplate template = new RestTemplate(); |
| | | ResponseEntity<ZtResult> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResult.class,params); |
| | | if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) { |
| | | List<ResDamMonitorResult> resDamMonitorResultList = ztResultPojoResponseEntity.getBody().getResultList(); |
| | | return resDamMonitorResultList; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |