ke
2024-05-13 659d3e60c6fe5e5bcd8c4cbb3dd8077e29f13a38
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ZtApiServiceImpl.java
@@ -1,14 +1,12 @@
package cn.gistack.nky.service.impl;
import cn.gistack.common.utils.SpringContextUtil;
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.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;
@@ -54,11 +52,29 @@
    */
   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
@@ -67,10 +83,25 @@
      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
@@ -89,6 +120,46 @@
   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) {
@@ -163,7 +234,7 @@
      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) {
@@ -173,4 +244,41 @@
      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;
   }
}