From b63dccee424ee9dfb8944ead15ff084ff62d63fa Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 10 May 2024 18:22:37 +0800
Subject: [PATCH] 对接及事件查询订阅调整

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java |  149 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 114 insertions(+), 35 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java
index b47d331..d2d286a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java
@@ -2,22 +2,17 @@
 
 import cn.gistack.sm.hk.constant.HkConstant;
 import cn.gistack.sm.hk.constant.ProtocolConstant;
+import cn.gistack.sm.hk.vo.EventVO;
 import cn.gistack.sm.hk.vo.HkVO;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.hikvision.artemis.sdk.ArtemisHttpUtil;
 import com.hikvision.artemis.sdk.config.ArtemisConfig;
-import org.springblade.core.tool.api.R;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import static cn.gistack.sm.hk.constant.HkConstant.ARTEMIS_PATH;
-import static cn.gistack.sm.hk.util.GetCameraUtils.GetCameraPreviewURL;
-
 public class GetCameraUtils {
 
 	/**
@@ -45,6 +40,15 @@
 		ArtemisConfig.appKey = HkConstant.AppKey;
 		// 秘钥appSecret
 		ArtemisConfig.appSecret = HkConstant.AppSecret;
+
+		if (type==3) {
+			// 秘钥appKey
+			ArtemisConfig.appKey = HkConstant.EventAppKey;
+			// 秘钥appSecret
+			ArtemisConfig.appSecret = HkConstant.EventAppSecret;
+			// host
+			ArtemisConfig.host = HkConstant.Event_NEW_HOST;
+		}
 
 
 		/**
@@ -80,18 +84,25 @@
 	 * @param url 视频预览url
 	 * @param cameraIndexCode 监控点唯一标识
 	 * @param protocol
+	 * @param transmode
 	 * @param expand
 	 * @return
 	 */
-	public static String GetCameraPreviewURL(Integer type,String url, String cameraIndexCode, String protocol,String expand) {
+	public static String GetCameraPreviewURL(Integer type,
+											 String url,
+											 String cameraIndexCode,
+											 String protocol,
+											 Integer transmode,
+											 String expand,
+											 Integer streamType) {
 		/**
 		 * 组装请求参数
 		 */
 		JSONObject jsonBody = new JSONObject();
 		jsonBody.put("cameraIndexCode", cameraIndexCode);
-		jsonBody.put("streamType", 0);
+		jsonBody.put("streamType",streamType);
 		jsonBody.put("protocol", protocol);
-		jsonBody.put("transmode", 1);
+		jsonBody.put("transmode", transmode);
 		if (null!= expand && !expand.equals("")) {
 			jsonBody.put("expand", expand);
 		}
@@ -247,29 +258,6 @@
 		return common(type,url,body);
 	}
 
-
-	/**
-	 * 获取监控点资源分页数据
-	 *
-	 * @param url 监控资源url
-	 * @return
-	 */
-	public static String GetCameraResourcePage(Integer type,Integer pageNo, Integer pageSize, String url) {
-		/**
-		 * 组装请求参数
-		 */
-		JSONObject jsonBody = new JSONObject();
-		jsonBody.put("pageNo", pageNo);
-		jsonBody.put("pageSize", pageSize);
-		String body = jsonBody.toJSONString();
-
-		/**
-		 * 调用接口并返回数据
-		 * post请求application/json类型参数;
-		 */
-		return common(type,url, body);
-	}
-
 	/**
 	 * 抓图
 	 *
@@ -291,7 +279,98 @@
 		return common(type,url, body);
 	}
 
-	public static void main(String[] args) {
+	/**
+	 * 获取监控点资源分页数据
+	 * @param url 监控资源url
+	 * @return
+	 */
+	public static String GetCameraResourcePage(Integer type,Integer pageNo, Integer pageSize, String url) {
+		/**
+		 * 组装请求参数
+		 */
+		JSONObject jsonBody = new JSONObject();
+		jsonBody.put("pageNo", pageNo);
+		jsonBody.put("pageSize", pageSize);
+		String body = jsonBody.toJSONString();
+
+		/**
+		 * 调用接口并返回数据
+		 * post请求application/json类型参数;
+		 */
+		return common(type,url, body);
+	}
+
+	/**
+	 * 海康视频事件订阅
+	 * @param eventVO
+	 * @param url
+	 * @return
+	 */
+	public static String addEventSubscriptionByEventTypes(EventVO eventVO, String url) {
+		/**
+		 * 组装请求参数
+		 */
+		JSONObject jsonBody = new JSONObject();
+		jsonBody.put("eventTypes", Arrays.stream(eventVO.getEventTypes().split(",")).mapToLong(Long::parseLong).toArray());
+		jsonBody.put("eventDest", eventVO.getEventDest());
+		if (null!=eventVO.getSubType()){
+			jsonBody.put("subType", eventVO.getSubType());
+		}
+		if (null!=eventVO.getEventLvl()){
+			jsonBody.put("eventLvl", Arrays.stream(eventVO.getEventLvl().split(",")).mapToInt(Integer::parseInt).toArray());
+		}
+		String body = jsonBody.toJSONString();
+
+		/**
+		 * 调用接口并返回数据
+		 * post请求application/json类型参数;
+		 */
+		return common(null==eventVO.getType()?1:eventVO.getType(),url, body);
+	}
+
+	/**
+	 * 海康视频事件取消订阅
+	 * @param eventVO
+	 * @param url
+	 * @return
+	 */
+	public static String removeEventSubscriptionByEventTypes(EventVO eventVO, String url) {
+		long[] eventTypes =  Arrays.stream(eventVO.getEventTypes().split(",")).mapToLong(Long::parseLong).toArray();
+		/**
+		 * 组装请求参数
+		 */
+		JSONObject jsonBody = new JSONObject();
+		jsonBody.put("eventTypes", eventTypes);
+		String body = jsonBody.toJSONString();
+
+		/**
+		 * 调用接口并返回数据
+		 * post请求application/json类型参数;
+		 */
+		return common(null==eventVO.getType()?1:eventVO.getType(),url, body);
+	}
+
+	/**
+	 * 查询事件订阅信息
+	 * @param eventVO
+	 * @param url
+	 * @return
+	 */
+	public static String getEventSubscriptionView(EventVO eventVO, String url) {
+		/**
+		 * 组装请求参数
+		 */
+		JSONObject jsonBody = new JSONObject();
+		String body = jsonBody.toJSONString();
+
+		/**
+		 * 调用接口并返回数据
+		 * post请求application/json类型参数;
+		 */
+		return common(null==eventVO.getType()?1:eventVO.getType(),url, body);
+	}
+
+//	public static void main(String[] args) {
 //
 //		String previewURL = GetCameraPreviewURL(1, HkConstant.previewURLs,
 //			"0c4f30948dde4998a676ec6983119cb5",
@@ -378,5 +457,5 @@
 //		String common = common(HkConstant.playbackURLs, body);
 //
 //		System.out.println("common = " + common);
-	}
+//	}
 }

--
Gitblit v1.9.3