From ca5fdc05f61880b1178c4d321456ff41c803cc38 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 12 八月 2024 12:08:40 +0800
Subject: [PATCH] 海康接口封装
---
ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
new file mode 100644
index 0000000..f13bb61
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
@@ -0,0 +1,89 @@
+package com.ycl.feign;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.hikvision.artemis.sdk.ArtemisHttpUtil;
+import com.hikvision.artemis.sdk.config.ArtemisConfig;
+import com.ycl.platform.domain.param.HK.FaceDetectParam;
+import com.ycl.utils.DateUtils;
+import constant.ApiConstants;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/8/12 11:47
+ */
+@Slf4j
+public class HkApiUtil {
+
+
+ /**
+ * 璋冪敤娴峰悍鎺ュ彛
+ *
+ * @param apiUrl 鎺ュ彛鍦板潃锛�/api/dqd/service/rs/v2/data/faceDetect/query
+ * @param params 璇锋眰鍙傛暟
+ * @param resultType 鍝嶅簲缁撴灉鎺ユ敹绫�
+ * @return 璋冪敤缁撴灉
+ */
+ public static <T> String sendAPI(String apiUrl, Object params, Class<T> resultType) {
+
+ // STEP1锛氳缃钩鍙板弬鏁帮紝鏍规嵁瀹為檯鎯呭喌,璁剧疆host appkey appsecret 涓変釜鍙傛暟.
+ ArtemisConfig.host = "51.92.65.49"; // 骞冲彴鐨刬p绔彛
+ ArtemisConfig.appKey = "29555942"; // 瀵嗛挜appkey
+ ArtemisConfig.appSecret = "t9U7tCplCyYHzQPPL7cH";// 瀵嗛挜appSecret
+
+ // STEP2锛氳缃甇penAPI鎺ュ彛鐨勪笂涓嬫枃
+ final String ARTEMIS_PATH = "/artemis";
+
+ // STEP3锛氳缃帴鍙g殑URI鍦板潃
+ final String previewURLsApi = ARTEMIS_PATH + apiUrl;
+ Map<String, String> path = new HashMap<String, String>(2) {
+ {
+ put("https://", previewURLsApi);
+ }
+ };
+
+ // STEP4锛氳缃弬鏁版彁浜ゆ柟寮�
+ String contentType = "application/json";
+
+ // STEP5锛氱粍瑁呰姹傚弬鏁�
+ String body = JSON.toJSONString(params);
+ log.info("璇锋眰鍙傛暟:{}",body);
+
+ // STEP6锛氳皟鐢ㄦ帴鍙�
+ String result = null;// post璇锋眰application/json绫诲瀷鍙傛暟
+ try {
+ result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , null);
+ } catch (Exception e) {
+ log.error("鎺ュ彛锛氥�恵}銆戯紝璋冪敤澶辫触");
+ e.printStackTrace();
+ }
+ HkApiUtil.getDataList(JSONObject.parseObject(result), resultType);
+ return result;
+ }
+
+ //瑙f瀽鏁版嵁
+ private static <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass) {
+ if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) {
+ log.info("鏁版嵁鏍煎紡"+jsonObject);
+ JSONObject data = jsonObject.getJSONObject("data");
+ if (data == null) {
+ return null;
+ }
+ List<T> list = data.getList("list", resultClass);
+ if (CollectionUtils.isEmpty(list)) {
+ return null;
+ }
+ return list;
+ }
+ return null;
+ }
+
+
+}
+
--
Gitblit v1.8.0