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