diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index 71c67c0..f370cc1 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -30,6 +30,11 @@
provided
+ com.casic
+ casic-http
+ ${ext.version}
+
+
org.springframework.boot
spring-boot-starter-web
${boot.version}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index 71c67c0..f370cc1 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -30,6 +30,11 @@
provided
+ com.casic
+ casic-http
+ ${ext.version}
+
+
org.springframework.boot
spring-boot-starter-web
${boot.version}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java
new file mode 100644
index 0000000..ae105f8
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.modular.system.handler;
+
+import cn.hutool.core.util.StrUtil;
+import org.apache.http.client.methods.HttpRequestBase;
+
+/**
+ * 默认请求header
+ *
+ * @author lwh
+ */
+public class OceanHttpHeaderHandler extends DefaultHttpHeaderHandler {
+ @Override
+ public void setHeader(HttpRequestBase base, String token) {
+ if (StrUtil.isNotEmpty(token)) {
+ base.addHeader("Authorization", token);
+ }
+ }
+}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index 71c67c0..f370cc1 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -30,6 +30,11 @@
provided
+ com.casic
+ casic-http
+ ${ext.version}
+
+
org.springframework.boot
spring-boot-starter-web
${boot.version}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java
new file mode 100644
index 0000000..ae105f8
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.modular.system.handler;
+
+import cn.hutool.core.util.StrUtil;
+import org.apache.http.client.methods.HttpRequestBase;
+
+/**
+ * 默认请求header
+ *
+ * @author lwh
+ */
+public class OceanHttpHeaderHandler extends DefaultHttpHeaderHandler {
+ @Override
+ public void setHeader(HttpRequestBase base, String token) {
+ if (StrUtil.isNotEmpty(token)) {
+ base.addHeader("Authorization", token);
+ }
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java
index 567e912..29b6af2 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java
@@ -1,18 +1,22 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.casic.missiles.modular.system.dto.OceanDetailDTO;
+import com.casic.missiles.modular.system.handler.OceanHttpHeaderHandler;
import com.casic.missiles.modular.system.model.OceanDetailModel;
import com.casic.missiles.modular.system.service.IOceanService;
import com.casic.missiles.modular.system.utils.Constant;
import com.casic.missiles.modular.system.utils.HttpRequestHelper;
+import com.casic.missiles.modular.system.utils.HttpUtils;
import okhttp3.*;
import org.springframework.stereotype.Service;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* 洋流数据信息 服务实现类
@@ -42,78 +46,37 @@
/**
* 获取洋流数据Token
* */
- JSONObject tokenObject = new JSONObject();
- try {
- tokenObject.put("appId", Constant.OCEAN_APPID);
- tokenObject.put("appKey", Constant.OCEAN_APP_KEY);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- Request tokenRequest = new Request.Builder()
- .url("http://api.meteo.open.ninecosmos.cn/us/users/open/token")
- .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), tokenObject.toJSONString()))
- .build();
- Call tokenCall = HttpRequestHelper.HTTP_CLIENT.newCall(tokenRequest);
- try {
- Response response = tokenCall.execute();
- ResponseBody tokenBody = response.body();
- if (tokenBody != null) {
- String tokenResult = tokenBody.string();
- if ("".equals(tokenResult)) {
+
+ Map params = new HashMap<>();
+ params.put("appId", Constant.OCEAN_APPID);
+ params.put("appKey", Constant.OCEAN_APP_KEY);
+ String res = HttpUtils.sendPost("http://api.meteo.open.ninecosmos.cn/us/users/open/token", params, null, new OceanHttpHeaderHandler());
+ if (StrUtil.isNotEmpty(res)) {
+ /**
+ * 解析token
+ * */
+ JSONObject tokenJson = JSON.parseObject(res);
+ JSONObject dataObject = tokenJson.getJSONObject("data");
+ String token = dataObject.getString("token");
+ /**
+ * 封装请求参数
+ * */
+ Map dataParams = new HashMap<>();
+ dataParams.put("lon", lng+"");
+ dataParams.put("lat", lat+"");
+ dataParams.put("date", date);
+ dataParams.put("hour", days);
+ dataParams.put("days", hour);
+ String oceanData = HttpUtils.sendPost("http://api.meteo.open.ninecosmos.cn/mr/netcdf/meteo/ytx", dataParams, token, new OceanHttpHeaderHandler());
+ if (SUCCESS_CODE.equals(getOceanCode(oceanData))) {
+ OceanDetailModel remoteData = JSON.parseObject(oceanData, new TypeReference() {
+ });
+ if (remoteData == null) {
return null;
}
- /**
- * 解析token
- * */
- JSONObject tokenJson = JSON.parseObject(tokenResult);
- JSONObject dataObject = tokenJson.getJSONObject("data");
- String token = dataObject.getString("token");
- /**
- * 封装请求参数
- * */
- JSONObject resultObject = new JSONObject();
- try {
- resultObject.put("lon", lng);
- resultObject.put("lat", lat);
- resultObject.put("date", date);
- resultObject.put("hour", days);
- resultObject.put("days", hour);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- /**
- * 获取洋流数据
- * */
- Request resultRequest = new Request.Builder()
- .addHeader("Authorization", token)
- .url("http://api.meteo.open.ninecosmos.cn/mr/netcdf/meteo/ytx")
- .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), resultObject.toJSONString()))
- .build();
- Call resultCall = HttpRequestHelper.HTTP_CLIENT.newCall(resultRequest);
- try {
- Response resultResponse = resultCall.execute();
- ResponseBody resultBody = resultResponse.body();
- if (resultBody != null) {
- String oceanData = resultBody.string();
- /**
- * 解析洋流数据返回给前端
- * */
- if (SUCCESS_CODE.equals(getOceanCode(oceanData))) {
- OceanDetailModel remoteData = JSON.parseObject(oceanData, new TypeReference() {
- });
- if (remoteData == null) {
- return null;
- }
- return new OceanDetailDTO(remoteData);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
+ return new OceanDetailDTO(remoteData);
}
- } catch (IOException e) {
- e.printStackTrace();
+
}
return null;
}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index 71c67c0..f370cc1 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -30,6 +30,11 @@
provided
+ com.casic
+ casic-http
+ ${ext.version}
+
+
org.springframework.boot
spring-boot-starter-web
${boot.version}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java
new file mode 100644
index 0000000..ae105f8
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/OceanHttpHeaderHandler.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.modular.system.handler;
+
+import cn.hutool.core.util.StrUtil;
+import org.apache.http.client.methods.HttpRequestBase;
+
+/**
+ * 默认请求header
+ *
+ * @author lwh
+ */
+public class OceanHttpHeaderHandler extends DefaultHttpHeaderHandler {
+ @Override
+ public void setHeader(HttpRequestBase base, String token) {
+ if (StrUtil.isNotEmpty(token)) {
+ base.addHeader("Authorization", token);
+ }
+ }
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java
index 567e912..29b6af2 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/OceanServiceImpl.java
@@ -1,18 +1,22 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.casic.missiles.modular.system.dto.OceanDetailDTO;
+import com.casic.missiles.modular.system.handler.OceanHttpHeaderHandler;
import com.casic.missiles.modular.system.model.OceanDetailModel;
import com.casic.missiles.modular.system.service.IOceanService;
import com.casic.missiles.modular.system.utils.Constant;
import com.casic.missiles.modular.system.utils.HttpRequestHelper;
+import com.casic.missiles.modular.system.utils.HttpUtils;
import okhttp3.*;
import org.springframework.stereotype.Service;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* 洋流数据信息 服务实现类
@@ -42,78 +46,37 @@
/**
* 获取洋流数据Token
* */
- JSONObject tokenObject = new JSONObject();
- try {
- tokenObject.put("appId", Constant.OCEAN_APPID);
- tokenObject.put("appKey", Constant.OCEAN_APP_KEY);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- Request tokenRequest = new Request.Builder()
- .url("http://api.meteo.open.ninecosmos.cn/us/users/open/token")
- .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), tokenObject.toJSONString()))
- .build();
- Call tokenCall = HttpRequestHelper.HTTP_CLIENT.newCall(tokenRequest);
- try {
- Response response = tokenCall.execute();
- ResponseBody tokenBody = response.body();
- if (tokenBody != null) {
- String tokenResult = tokenBody.string();
- if ("".equals(tokenResult)) {
+
+ Map params = new HashMap<>();
+ params.put("appId", Constant.OCEAN_APPID);
+ params.put("appKey", Constant.OCEAN_APP_KEY);
+ String res = HttpUtils.sendPost("http://api.meteo.open.ninecosmos.cn/us/users/open/token", params, null, new OceanHttpHeaderHandler());
+ if (StrUtil.isNotEmpty(res)) {
+ /**
+ * 解析token
+ * */
+ JSONObject tokenJson = JSON.parseObject(res);
+ JSONObject dataObject = tokenJson.getJSONObject("data");
+ String token = dataObject.getString("token");
+ /**
+ * 封装请求参数
+ * */
+ Map dataParams = new HashMap<>();
+ dataParams.put("lon", lng+"");
+ dataParams.put("lat", lat+"");
+ dataParams.put("date", date);
+ dataParams.put("hour", days);
+ dataParams.put("days", hour);
+ String oceanData = HttpUtils.sendPost("http://api.meteo.open.ninecosmos.cn/mr/netcdf/meteo/ytx", dataParams, token, new OceanHttpHeaderHandler());
+ if (SUCCESS_CODE.equals(getOceanCode(oceanData))) {
+ OceanDetailModel remoteData = JSON.parseObject(oceanData, new TypeReference() {
+ });
+ if (remoteData == null) {
return null;
}
- /**
- * 解析token
- * */
- JSONObject tokenJson = JSON.parseObject(tokenResult);
- JSONObject dataObject = tokenJson.getJSONObject("data");
- String token = dataObject.getString("token");
- /**
- * 封装请求参数
- * */
- JSONObject resultObject = new JSONObject();
- try {
- resultObject.put("lon", lng);
- resultObject.put("lat", lat);
- resultObject.put("date", date);
- resultObject.put("hour", days);
- resultObject.put("days", hour);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- /**
- * 获取洋流数据
- * */
- Request resultRequest = new Request.Builder()
- .addHeader("Authorization", token)
- .url("http://api.meteo.open.ninecosmos.cn/mr/netcdf/meteo/ytx")
- .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), resultObject.toJSONString()))
- .build();
- Call resultCall = HttpRequestHelper.HTTP_CLIENT.newCall(resultRequest);
- try {
- Response resultResponse = resultCall.execute();
- ResponseBody resultBody = resultResponse.body();
- if (resultBody != null) {
- String oceanData = resultBody.string();
- /**
- * 解析洋流数据返回给前端
- * */
- if (SUCCESS_CODE.equals(getOceanCode(oceanData))) {
- OceanDetailModel remoteData = JSON.parseObject(oceanData, new TypeReference() {
- });
- if (remoteData == null) {
- return null;
- }
- return new OceanDetailDTO(remoteData);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
+ return new OceanDetailDTO(remoteData);
}
- } catch (IOException e) {
- e.printStackTrace();
+
}
return null;
}
diff --git a/pom.xml b/pom.xml
index 80d830f..b4fe593 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,6 +26,7 @@
2.0.0.alpha
2.0.0.alpha
+ 2.0.0.alpha