From f0c26b9f4a033e03dfe4710776c102440e44f9e8 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 09 Aug 2023 17:13:34 +0800
Subject: [PATCH] 1、修改hst预测请求;2、大坝预测数据接口
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java | 66 ++++++++++++++++++++++++++++-----
1 files changed, 56 insertions(+), 10 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
index 6c8369e..c1e8e84 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
@@ -13,6 +13,8 @@
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -27,31 +29,29 @@
@Override
public List<List<String>> getFuture(String resCd) {
- HsybGetFuturePo hsybGetFuturePo = apiRequest(GET_FUTURE, resCd);
+ HsybGetFuturePo hsybGetFuturePo = apiRequest(GET_FUTURE, resCd);
- if (hsybGetFuturePo != null && hsybGetFuturePo.getRespCode().equals("200")){
+ if (hsybGetFuturePo != null && hsybGetFuturePo.getRespCode().equals("200")) {
List<List<String>> data = hsybGetFuturePo.getData();
- //过滤空值数据,过滤过去时间
- List<List<String>> collect =
- data.stream().filter(item -> item.get(0) != null).filter(item -> CommonUtil.strToDate(item.get(0)).after(DateUtil.now())).collect(Collectors.toList());
+ List<List<String>> collect = filterPredictData(data);
return collect;
- }else {
+ } else {
return null;
}
}
- public HsybGetFuturePo apiRequest(String url, String jsonparams){
+ public HsybGetFuturePo apiRequest(String url, String jsonparams) {
// Long param = Long.parseLong(jsonparams);
- System.out.println("请求参数:"+ jsonparams);
+ System.out.println("请求参数:" + jsonparams);
// 声明一个header变量
HttpHeaders headers = new HttpHeaders();
// 设置为json格式
MediaType mediaType = MediaType.parseMediaType("application/json;charset=utf-8");
headers.setContentType(mediaType);
//设置请求头
- headers.set("Authorization",AUTHORIZATION);
+ headers.set("Authorization", AUTHORIZATION);
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
HttpEntity<String> httpEntity = new HttpEntity(jsonparams, headers);
@@ -60,10 +60,56 @@
HsybGetFuturePo hsybGetFuturePo = template.postForObject(url, httpEntity, HsybGetFuturePo.class);
System.out.println(hsybGetFuturePo.toString());
return hsybGetFuturePo;
- }catch (Exception e){
+ } catch (Exception e) {
System.out.println(e);
}
return null;
}
+
+
+ /**
+ * 对预测数据进行过滤
+ *
+ * @param data
+ * @return
+ */
+ public List<List<String>> filterPredictData(List<List<String>> data) {
+ String formatter = "yyyy-MM-dd";
+ String today = DateUtil.format(new Date(), formatter);
+
+ Long time = new Date().getTime() + 60 * 60 * 24 * 1000;
+ Date tomorrowDate = new Date(time);
+ String tomorrow = DateUtil.format(tomorrowDate, formatter);
+
+ //过滤空值数据,过滤过去时间
+ List<List<String>> collect = data.stream().filter(item -> item.get(0) != null).collect(Collectors.toList());
+ Integer index = findIndex(collect, "/");
+
+ if (index>-1){
+ collect.get(index).set(0,tomorrow + collect.get(index).get(0).substring(5));
+ }
+
+ for (int i = 0; i < collect.size(); i++) {
+ if (i<index && index>-1){
+ collect.get(i).set(0,today + " " + collect.get(i).get(0));
+ }else if (i>index && index>-1){
+ collect.get(i).set(0,tomorrow + " " + collect.get(i).get(0));
+ }else if ( i!= index && index == -1){
+ collect.get(i).set(0,today + " " + collect.get(i).get(0));
+ }
+ }
+ List<List<String>> filterData = data.stream().filter(item -> item.get(0) != null).filter(item -> CommonUtil.strToDate(item.get(0)).after(DateUtil.now())).collect(Collectors.toList());
+ return filterData;
+ }
+
+
+ public Integer findIndex(List<List<String>> list,String reg){
+ for (int i = 0; i < list.size(); i++) {
+ if (list.get(i).get(0).indexOf(reg)>-1){
+ return i;
+ }
+ }
+ return -1;
+ }
}
--
Gitblit v1.9.3