From 741821101cae1142c809df12b49137032d17e6b6 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 26 Apr 2024 15:51:41 +0800
Subject: [PATCH] 增加南科院请求记录
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/NkyServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++-----
1 files changed, 74 insertions(+), 11 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/NkyServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/NkyServiceImpl.java
index 4b9674a..e45dfac 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/NkyServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/NkyServiceImpl.java
@@ -1,14 +1,19 @@
package cn.gistack.nky.service.impl;
+import cn.gistack.common.utils.SpringContextUtil;
import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.entity.HstPredict;
+import cn.gistack.nky.entity.RequestRecord;
import cn.gistack.nky.requestpojo.*;
import cn.gistack.nky.service.INkyService;
+import cn.gistack.nky.service.IRequestRecordService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.utils.DateUtil;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@@ -24,34 +29,64 @@
*/
@Service
@AllArgsConstructor
+@Slf4j
public class NkyServiceImpl implements INkyService {
+ private final IRequestRecordService requestRecordService;
-
- private static final String API_PREFIX = "https://sk.hubeishuiyi.cn/warnIp/";
+ private static final String API_PREFIX = "http://10.42.7.146:9503/";
+ private static final String LOCAL_API_PREFIX = "https://sk.hubeishuiyi.cn/warnIp/";
// ARIMA预测接口URL
- private static final String ARIMA_PREDICT = API_PREFIX + "predict/arimaPredict";
+ private static final String ARIMA_PREDICT = "predict/arimaPredict";
// ARIMA预测结果接口
- private static final String ARIMA_QUERY = API_PREFIX+"predict/arimaQuery";
+ private static final String ARIMA_QUERY = "predict/arimaQuery";
// HST预测接口URL
- private static final String HST_PREDICT =API_PREFIX+ "predict/hstPredict";
+ private static final String HST_PREDICT = "predict/hstPredict";
// HST预测结果接口
- private static final String HST_QUERY =API_PREFIX+ "predict/hstQuery";
+ private static final String HST_QUERY = "predict/hstQuery";
//按库传输数据接口
- private static final String ORIGIN_BATCHDATA = API_PREFIX + "origin/batchData";
+ private static final String ORIGIN_BATCHDATA = "origin/batchData";
//判定异常
- private static final String ALARM_GET = API_PREFIX+"alarm/get";
+ private static final String ALARM_GET = "alarm/get";
@Override
public Boolean arimaPredict(ArimaPredictReqPo po) {
JSONObject jsonObject = requestNkyApi(ARIMA_PREDICT, JSON.toJSONString(po));
+ RequestRecord requestRecord = new RequestRecord();
+
+ try {
+ requestRecord.setRequestUrl(ARIMA_PREDICT);
+ requestRecord.setResGuid(po.getDamId());
+ requestRecord.setPointId(po.getPointId());
+ requestRecord.setSendParams(JSON.toJSONString(po));
+ requestRecord.setResult(JSON.toJSONString(jsonObject));
+ requestRecord.setCreateTime(DateUtil.now());
+ requestRecord.setType(po.getType());
+ }catch (Exception e){
+ requestRecord.setErrorDesc(e.toString());
+ }
+ requestRecordService.save(requestRecord);
return jsonObject.get("status").equals(200);
}
@Override
public Boolean hstPredict(HstPredictReqPo po) {
JSONObject jsonObject = requestNkyApi(HST_PREDICT, JSON.toJSONString(po));
+ RequestRecord requestRecord = new RequestRecord();
+
+ try {
+ requestRecord.setRequestUrl(HST_PREDICT);
+ requestRecord.setResGuid(po.getDamId());
+ requestRecord.setPointId(po.getPointId());
+ requestRecord.setSendParams(JSON.toJSONString(po));
+ requestRecord.setResult(JSON.toJSONString(jsonObject));
+ requestRecord.setCreateTime(DateUtil.now());
+ requestRecord.setType(po.getType());
+ }catch (Exception e){
+ requestRecord.setErrorDesc(e.toString());
+ }
+ requestRecordService.save(requestRecord);
return jsonObject.get("status").equals(200);
}
@@ -88,6 +123,21 @@
@Override
public Boolean batchData(BatchDataPo po) {
JSONObject jsonObject = requestNkyApi(ORIGIN_BATCHDATA, JSON.toJSONString(po));
+ RequestRecord requestRecord = new RequestRecord();
+ try {
+ requestRecord.setRequestUrl(ORIGIN_BATCHDATA);
+ if (po.getDatas().size()>0){
+ requestRecord.setResGuid(po.getDatas().get(0).getDamId());
+ requestRecord.setType(po.getDatas().get(0).getType());
+ }
+ requestRecord.setSendParams(JSON.toJSONString(po));
+ requestRecord.setResult(JSON.toJSONString(jsonObject));
+ requestRecord.setCreateTime(DateUtil.now());
+ }catch (Exception e){
+ e.printStackTrace();
+ requestRecord.setErrorDesc(e.toString());
+ }
+ requestRecordService.save(requestRecord);
return jsonObject.get("status").equals(200);
}
@@ -104,7 +154,19 @@
* @param jsonparams
* @return
*/
- private JSONObject requestNkyApi(String url, String jsonparams) {
+ private synchronized JSONObject requestNkyApi(String url, String jsonparams) {
+ // 获取环境
+ String activeProfile = SpringContextUtil.getActiveProfile();
+ if (activeProfile.equals("dev")) {
+ url = LOCAL_API_PREFIX+ url ;
+ }
+ if (activeProfile.equals("prod")) {
+ url = API_PREFIX+ url ;
+ }
+ if (activeProfile.equals("test")) {
+ url = API_PREFIX + url;
+ }
+
// 声明一个header变量
HttpHeaders headers = new HttpHeaders();
// 设置为json格式
@@ -113,10 +175,11 @@
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
HttpEntity<String> httpEntity = new HttpEntity(jsonparams, headers);
- System.out.println("请求参数:"+ jsonparams);
+ log.info("请求地址:"+ url);
+ log.info("请求参数:"+ jsonparams);
RestTemplate template = new RestTemplate();
String resultStr = template.postForObject(url, httpEntity, String.class);
- System.out.println(resultStr);
+ log.info("请求结果:"+ resultStr);
JSONObject jsonObject = JSONObject.parseObject(resultStr);
return jsonObject;
}
--
Gitblit v1.9.3