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