From cbdcb828bd7ed3787990dceb65f3c6db7c806e16 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 13 八月 2024 09:40:51 +0800 Subject: [PATCH] 海康接口 --- ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 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 index b1f27b0..cb5ae8f 100644 --- a/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java +++ b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java @@ -4,15 +4,18 @@ 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.BaseParam; 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.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.jar.JarEntry; /** * @author锛歺p @@ -29,7 +32,7 @@ * @param resultType 鍝嶅簲缁撴灉鎺ユ敹绫� * @return 璋冪敤缁撴灉 */ - public static <T> List<T> sendAPI(String apiUrl, Object params, Class<T> resultType) { + public static <T> List<T> sendAPI(String apiUrl, BaseParam params, Class<T> resultType) { // STEP1锛氳缃钩鍙板弬鏁帮紝鏍规嵁瀹為檯鎯呭喌,璁剧疆host appkey appsecret 涓変釜鍙傛暟. ArtemisConfig.host = "51.92.65.49"; // 骞冲彴鐨刬p绔彛 @@ -53,22 +56,33 @@ // STEP5锛氱粍瑁呰姹傚弬鏁� String body = JSON.toJSONString(params); log.info("璇锋眰鍙傛暟:{}",body); - // STEP6锛氳皟鐢ㄦ帴鍙� String result = null;// post璇锋眰application/json绫诲瀷鍙傛暟 - try { + List<T> dataList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , null); - } catch (Exception e) { - log.error("鎺ュ彛锛氥�恵}銆戯紝璋冪敤澶辫触",apiUrl); - e.printStackTrace(); + JSONObject jsonObject = JSONObject.parseObject(result); + if(jsonObject.getString("code") == null || !ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))){ + log.error("璇锋眰澶辫触{}",result); + dataList = null; + break; + } + List<T> resultList = HkApiUtil.getDataList(JSONObject.parseObject(result), resultType); + if(CollectionUtils.isEmpty(resultList) || resultList.size()<ApiConstants.HKPageSize) { + dataList.addAll(resultList); + break; + }else { + dataList.addAll(resultList); + params.setPageNo(params.getPageNo()+1); + } } - return HkApiUtil.getDataList(JSONObject.parseObject(result), resultType); + + return dataList; } //瑙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; -- Gitblit v1.8.0