From 02e1281fafd76022b7d64536ea06913cf28b6d7f Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Mon, 14 Aug 2023 17:28:16 +0800
Subject: [PATCH] fix:站点数据问题修复
---
screen-job/pom.xml | 11 +
screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java | 2
screen-job/src/main/java/com/moral/api/controller/PubController.java | 53 ++++++-
screen-job/src/main/java/com/moral/api/util/HttpUtils.java | 316 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 370 insertions(+), 12 deletions(-)
diff --git a/screen-job/pom.xml b/screen-job/pom.xml
index e7d9d3b..7ad595f 100644
--- a/screen-job/pom.xml
+++ b/screen-job/pom.xml
@@ -29,6 +29,17 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.9</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.13</version>
+ </dependency>
</dependencies>
<build>
diff --git a/screen-job/src/main/java/com/moral/api/controller/PubController.java b/screen-job/src/main/java/com/moral/api/controller/PubController.java
index 16805cd..606c6a3 100644
--- a/screen-job/src/main/java/com/moral/api/controller/PubController.java
+++ b/screen-job/src/main/java/com/moral/api/controller/PubController.java
@@ -1,22 +1,22 @@
package com.moral.api.controller;
-import com.moral.api.service.HistoryAqiService;
-import com.moral.api.service.HistoryDailyService;
-import com.moral.api.service.HistoryFiveMinutelyService;
-import com.moral.api.service.HistoryHourlyService;
+import com.moral.api.service.*;
+import com.moral.api.util.HttpUtils;
import com.moral.constant.ResultMessage;
import com.moral.util.DateUtils;
import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.http.HttpResponse;
+import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
/**
* @ClassName UserController
@@ -34,6 +34,8 @@
private HistoryDailyService historyDailyService;
@Autowired
private HistoryFiveMinutelyService historyFiveMinutelyService;
+ @Autowired
+ private ForecastService forecastService;
@Autowired
private HistoryAqiService historyAqiService;
@@ -77,15 +79,44 @@
return new ResultMessage();
}
+ @GetMapping("forecastO3")
+ @ApiOperation(value = "O3������������������", notes = "O3")
+ public ResultMessage forecastO3() {
+ forecastService.forecastO3();
+ return new ResultMessage();
+ }
+
public static void main(String[] args) {
- String s = "2023-9-01";
- Date d = DateUtils.getDate(s,"yyyy-MM-dd");
- System.out.println(DateUtils.dateToDateFullString(d));
- //System.out.println( DateUtils.dateToDateFullString(DateUtils.getDateOfDay(d, -1), "yyyy-MM-dd"));
+ String host = "https://pair.market.alicloudapi.com";
+ String path = "/api/v1/pair/station_list";
+ String method = "GET";
+ String appcode = "31b6ea8f804a4472be3b633cfee44849";
+ Map<String, String> headers = new HashMap<String, String>();
+ //���������header������������(���������������������)���Authorization:APPCODE 83359fd73fe94948385f570e3c139105
+ headers.put("Authorization", "APPCODE " + appcode);
+ Map<String, String> querys = new HashMap<String, String>();
+ querys.put("province", "���������");
-
+ try {
+ /**
+ * ������������������:
+ * HttpUtils������
+ * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
+ * ������
+ *
+ * ������������������������
+ * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
+ */
+ HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
+ System.out.println(response.toString());
+ //������response���body
+ System.out.println(EntityUtils.toString(response.getEntity()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
+
}
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java
index 1850370..ca07863 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java
@@ -210,7 +210,7 @@
}
}
}
- forecastMapper.insertForecast(forecastList);
+ // forecastMapper.insertForecast(forecastList);
}
private Double calculateAvg(List<Map<String, Object>> list, String param) {
diff --git a/screen-job/src/main/java/com/moral/api/util/HttpUtils.java b/screen-job/src/main/java/com/moral/api/util/HttpUtils.java
new file mode 100644
index 0000000..7d62459
--- /dev/null
+++ b/screen-job/src/main/java/com/moral/api/util/HttpUtils.java
@@ -0,0 +1,316 @@
+package com.moral.api.util;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.message.BasicNameValuePair;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName HttpUtils
+ * @Description TODO
+ * @Author @lizijie
+ * @Date 2023-08-14 13:33
+ * @Version 1.0
+ */
+public class HttpUtils {
+ /**
+ * get
+ *
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doGet(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpGet request = new HttpGet(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ return httpClient.execute(request);
+ }
+
+ /**
+ * post form
+ *
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @param bodys
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doPost(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys,
+ Map<String, String> bodys)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpPost request = new HttpPost(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ if (bodys != null) {
+ List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
+
+ for (String key : bodys.keySet()) {
+ nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key)));
+ }
+ UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8");
+ formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
+ request.setEntity(formEntity);
+ }
+
+ return httpClient.execute(request);
+ }
+
+ /**
+ * Post String
+ *
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @param body
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doPost(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys,
+ String body)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpPost request = new HttpPost(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ if (StringUtils.isNotBlank(body)) {
+ request.setEntity(new StringEntity(body, "utf-8"));
+ }
+
+ return httpClient.execute(request);
+ }
+
+ /**
+ * Post stream
+ *
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @param body
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doPost(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys,
+ byte[] body)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpPost request = new HttpPost(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ if (body != null) {
+ request.setEntity(new ByteArrayEntity(body));
+ }
+
+ return httpClient.execute(request);
+ }
+
+ /**
+ * Put String
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @param body
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doPut(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys,
+ String body)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpPut request = new HttpPut(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ if (StringUtils.isNotBlank(body)) {
+ request.setEntity(new StringEntity(body, "utf-8"));
+ }
+
+ return httpClient.execute(request);
+ }
+
+ /**
+ * Put stream
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @param body
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doPut(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys,
+ byte[] body)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpPut request = new HttpPut(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ if (body != null) {
+ request.setEntity(new ByteArrayEntity(body));
+ }
+
+ return httpClient.execute(request);
+ }
+
+ /**
+ * Delete
+ *
+ * @param host
+ * @param path
+ * @param method
+ * @param headers
+ * @param querys
+ * @return
+ * @throws Exception
+ */
+ public static HttpResponse doDelete(String host, String path, String method,
+ Map<String, String> headers,
+ Map<String, String> querys)
+ throws Exception {
+ HttpClient httpClient = wrapClient(host);
+
+ HttpDelete request = new HttpDelete(buildUrl(host, path, querys));
+ for (Map.Entry<String, String> e : headers.entrySet()) {
+ request.addHeader(e.getKey(), e.getValue());
+ }
+
+ return httpClient.execute(request);
+ }
+
+ private static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException {
+ StringBuilder sbUrl = new StringBuilder();
+ sbUrl.append(host);
+ if (!StringUtils.isBlank(path)) {
+ sbUrl.append(path);
+ }
+ if (null != querys) {
+ StringBuilder sbQuery = new StringBuilder();
+ for (Map.Entry<String, String> query : querys.entrySet()) {
+ if (0 < sbQuery.length()) {
+ sbQuery.append("&");
+ }
+ if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {
+ sbQuery.append(query.getValue());
+ }
+ if (!StringUtils.isBlank(query.getKey())) {
+ sbQuery.append(query.getKey());
+ if (!StringUtils.isBlank(query.getValue())) {
+ sbQuery.append("=");
+ sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8"));
+ }
+ }
+ }
+ if (0 < sbQuery.length()) {
+ sbUrl.append("?").append(sbQuery);
+ }
+ }
+
+ return sbUrl.toString();
+ }
+
+ private static HttpClient wrapClient(String host) {
+ HttpClient httpClient = new DefaultHttpClient();
+ if (host.startsWith("https://")) {
+ sslClient(httpClient);
+ }
+
+ return httpClient;
+ }
+
+ private static void sslClient(HttpClient httpClient) {
+ try {
+ SSLContext ctx = SSLContext.getInstance("TLS");
+ X509TrustManager tm = new X509TrustManager() {
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ public void checkClientTrusted(X509Certificate[] xcs, String str) {
+
+ }
+ public void checkServerTrusted(X509Certificate[] xcs, String str) {
+
+ }
+ };
+ ctx.init(null, new TrustManager[] { tm }, null);
+ SSLSocketFactory ssf = new SSLSocketFactory(ctx);
+ ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
+ ClientConnectionManager ccm = httpClient.getConnectionManager();
+ SchemeRegistry registry = ccm.getSchemeRegistry();
+ registry.register(new Scheme("https", 443, ssf));
+ } catch (KeyManagementException ex) {
+ throw new RuntimeException(ex);
+ } catch (NoSuchAlgorithmException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+}
--
Gitblit v1.8.0