From 90cc59400715f3ece6384eddf01cefd8eff449ea Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sun, 28 Apr 2024 14:53:27 +0800
Subject: [PATCH] 视频站点设置,南科院初始化

---
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/NkyServiceImpl.java |  129 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 116 insertions(+), 13 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..b1b9aa2 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,20 @@
 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.resultpojo.NkyBindDetailResult;
 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 +30,68 @@
  */
 @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";
+
+	private static final String BIND_DETAIL = "bind/detail";
+	private static final String BIND_ENABLE = "bind/enable";
+	private static final String BIND_PARAM = "bind/param";
 
 	@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 +128,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);
 	}
 
@@ -98,13 +153,62 @@
 		return alarmGet;
 	}
 
+	@Override
+	public List<NkyBindDetailResult> getBindDetail(String resCd, String cd, String type) {
+
+		JSONObject params = new JSONObject();
+		params.put("damId",resCd);
+		params.put("pointId",cd);
+		params.put("type",type);
+
+		JSONObject result = requestNkyApi(BIND_DETAIL, JSON.toJSONString(params));
+
+		JSONArray dataList = result.getJSONArray("data");
+		List<NkyBindDetailResult> nkyBindDetailResultList = dataList.toJavaList(NkyBindDetailResult.class);
+		return nkyBindDetailResultList;
+	}
+
+	@Override
+	public boolean bindEnable(JSONObject params) {
+		JSONObject jsonObject = requestNkyApi(BIND_ENABLE, JSON.toJSONString(params));
+
+		if (jsonObject.get("status").equals("200")) {
+			return true;
+		}else {
+			return false;
+		}
+	}
+
+	@Override
+	public boolean bindParam(JSONObject bindParamParams) {
+		JSONObject jsonObject = requestNkyApi(BIND_PARAM, JSON.toJSONString(bindParamParams));
+
+		if (jsonObject.get("status").equals("200")) {
+			return true;
+		}else {
+			return false;
+		}
+	}
+
 	/**
 	 * 请求南科院接口
 	 * @param url
 	 * @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,14 +217,13 @@
 		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