From f6593a5f6f1138abf09a0ee69fc5119fdce412c9 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期六, 07 十二月 2024 17:52:07 +0800
Subject: [PATCH] 标签bug

---
 ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 1 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 20beae5..46d442f 100644
--- a/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
+++ b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
@@ -2,16 +2,20 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
 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 com.ycl.utils.bean.BeanUtils;
 import constant.ApiConstants;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.CollectionUtils;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -27,7 +31,7 @@
 
 
     /**
-     * 璋冪敤娴峰悍鎺ュ彛
+     * 璋冪敤娴峰悍鎺ュ彛 鍩虹鏁版嵁骞冲彴 Post璇锋眰
      *
      * @param apiUrl 鎺ュ彛鍦板潃锛�/api/dqd/service/rs/v2/data/faceDetect/query
      * @param params 璇锋眰鍙傛暟
@@ -80,6 +84,61 @@
         return dataList;
     }
 
+
+    /**
+     * 璋冪敤娴峰悍鎺ュ彛 鍩虹鏁版嵁骞冲彴 Get璇锋眰
+     *
+     * @param apiUrl 鎺ュ彛鍦板潃锛�
+     * @param params 璇锋眰鍙傛暟
+     * @param resultType 鍝嶅簲缁撴灉鎺ユ敹绫�
+     * @return 璋冪敤缁撴灉
+     */
+    public static <T> List<T> sendGetAPI(String host,String appKey,String appSecret,String apiUrl, BaseParam params, Class<T> resultType) {
+        // STEP1锛氳缃钩鍙板弬鏁帮紝鏍规嵁瀹為檯鎯呭喌,璁剧疆host appkey appsecret 涓変釜鍙傛暟.
+        ArtemisConfig.host = host; // 骞冲彴鐨刬p绔彛
+        ArtemisConfig.appKey = appKey;  // 瀵嗛挜appkey
+        ArtemisConfig.appSecret = appSecret;// 瀵嗛挜appSecret
+
+        // STEP2锛氳缃甇penAPI鎺ュ彛鐨勪笂涓嬫枃
+        final String ARTEMIS_PATH = "/artemis/aaoo";
+
+        // STEP3锛氳缃帴鍙g殑URI鍦板潃
+        final String previewURLsApi = ARTEMIS_PATH + apiUrl;
+        Map<String, String> path = new HashMap<String, String>(2) {
+            {
+                put("https://", previewURLsApi);
+            }
+        };
+
+        // STEP4锛氳缃弬鏁版彁浜ゆ柟寮�
+        // STEP5锛氱粍瑁呰姹傚弬鏁�
+        Map<String, String> queryMap = object2Map(params);
+        log.info("璇锋眰鍙傛暟"+queryMap);
+        // STEP6锛氳皟鐢ㄦ帴鍙�
+        String result = null;
+        List<T> dataList = new ArrayList<>();
+        for (int i = 0; i < 10; i++) {
+            result = ArtemisHttpUtil.doGetArtemis(path, queryMap, null,  null , null);
+            JSONObject jsonObject = JSONObject.parseObject(result);
+            log.info("璇锋眰缁撴灉"+jsonObject);
+            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 dataList;
+    }
+
     //瑙f瀽鏁版嵁
     private static <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass) {
         if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) {
@@ -96,6 +155,56 @@
         return null;
     }
 
+    /**
+     * 瀹炰綋瀵硅薄杞垚Map
+     * @param obj 瀹炰綋瀵硅薄
+     * @return
+     */
+    public static Map<String, String> object2Map(Object obj) {
+        Map<String, String> map = new HashMap<>();
+        if (obj == null) {
+            return map;
+        }
+        Class clazz = obj.getClass();
+        Field[] fields = clazz.getDeclaredFields();
+        try {
+            for (Field field : fields) {
+                field.setAccessible(true);
+                map.put(field.getName(), field.get(obj).toString());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return map;
+    }
 
+    /**
+     * Map杞垚瀹炰綋瀵硅薄
+     * @param map map瀹炰綋瀵硅薄鍖呭惈灞炴��
+     * @param clazz 瀹炰綋瀵硅薄绫诲瀷
+     * @return
+     */
+    public static Object map2Object(Map<String, Object> map, Class<?> clazz) {
+        if (map == null) {
+            return null;
+        }
+        Object obj = null;
+        try {
+            obj = clazz.newInstance();
+
+            Field[] fields = obj.getClass().getDeclaredFields();
+            for (Field field : fields) {
+                int mod = field.getModifiers();
+                if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
+                    continue;
+                }
+                field.setAccessible(true);
+                field.set(obj, map.get(field.getName()));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return obj;
+    }
 }
 

--
Gitblit v1.8.0