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.nky.service.IZtApiService;
|
import com.alibaba.fastjson.JSONObject;
|
import org.springblade.core.tool.utils.ObjectUtil;
|
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpMethod;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.util.ArrayList;
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @PROJECT_NAME: skjcmanager
|
* @DESCRIPTION:
|
* @USER: aix
|
* @DATE: 2023/7/28 17:16
|
*/
|
@Service
|
public class ZtApiServiceImpl implements IZtApiService {
|
|
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 WY_API = "https://sk.hubeishuiyi.cn/services/1234567890ABCDEFGHIJKLMN/monitor/wy/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999";
|
|
@Override
|
public List<DataResChildrenPo> getSy() {
|
Map<String, Object> params = new LinkedHashMap<>();
|
return getData(LASTEST_OSMOTIC_PRESSURE, "get", params);
|
}
|
|
@Override
|
public List<DataResChildrenPo> getWy() {
|
Map<String, Object> params = new LinkedHashMap<>();
|
return getData(WY_API, "get", params);
|
}
|
|
@Override
|
public List<DataResPo> getResSy() {
|
Map<String, Object> params = new LinkedHashMap<>();
|
return getResData(LASTEST_OSMOTIC_PRESSURE, "get", params);
|
}
|
|
@Override
|
public List<DataResPo> getResWy() {
|
Map<String, Object> params = new LinkedHashMap<>();
|
return getResData(WY_API, "get", params);
|
}
|
|
private List<DataResChildrenPo> getData(String url, String type, Map<String, Object> params) {
|
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);
|
|
RestTemplate template = new RestTemplate();
|
ResponseEntity<ZtResultPo> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResultPo.class,params);
|
if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) {
|
List<DataResChildrenPo> children = new ArrayList<>();
|
List<DataResPo> data = ztResultPojoResponseEntity.getBody().getData().getData();
|
//遍历数据,存为测站子集
|
data.forEach(dataResPo -> {
|
if (dataResPo.getChildren() != null){
|
dataResPo.getChildren().forEach(dataResChildrenPo -> {
|
children.add(dataResChildrenPo);
|
});
|
}
|
});
|
return children;
|
}
|
return null;
|
}
|
|
private List<DataResPo> getResData(String url, String type, Map<String, Object> params){
|
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);
|
|
RestTemplate template = new RestTemplate();
|
ResponseEntity<ZtResultPo> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResultPo.class,params);
|
if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) {
|
List<DataResPo> data = ztResultPojoResponseEntity.getBody().getData().getData();
|
return data;
|
}
|
return null;
|
}
|
|
}
|