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