From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 24 六月 2025 14:09:07 +0800 Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均 --- ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java | 97 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 83 insertions(+), 14 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 4e1a0ec..32685ba 100644 --- a/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java +++ b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java @@ -2,17 +2,25 @@ 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; import java.util.Map; +import java.util.jar.JarEntry; /** * @author锛歺p @@ -23,19 +31,18 @@ /** - * 璋冪敤娴峰悍鎺ュ彛 + * 璋冪敤娴峰悍鎺ュ彛 鍩虹鏁版嵁骞冲彴 Post璇锋眰 * * @param apiUrl 鎺ュ彛鍦板潃锛�/api/dqd/service/rs/v2/data/faceDetect/query * @param params 璇锋眰鍙傛暟 * @param resultType 鍝嶅簲缁撴灉鎺ユ敹绫� * @return 璋冪敤缁撴灉 */ - public static <T> List<T> sendAPI(String apiUrl, Object params, Class<T> resultType) { - + public static <T> List<T> sendAPI(String host,String appKey,String appSecret,String apiUrl, BaseParam params, Class<T> resultType) { // STEP1锛氳缃钩鍙板弬鏁帮紝鏍规嵁瀹為檯鎯呭喌,璁剧疆host appkey appsecret 涓変釜鍙傛暟. - ArtemisConfig.host = "51.92.65.49"; // 骞冲彴鐨刬p绔彛 - ArtemisConfig.appKey = "29555942"; // 瀵嗛挜appkey - ArtemisConfig.appSecret = "t9U7tCplCyYHzQPPL7cH";// 瀵嗛挜appSecret + ArtemisConfig.host = host; // 骞冲彴鐨刬p绔彛 + ArtemisConfig.appKey = appKey; // 瀵嗛挜appkey + ArtemisConfig.appSecret = appSecret;// 瀵嗛挜appSecret // STEP2锛氳缃甇penAPI鎺ュ彛鐨勪笂涓嬫枃 final String ARTEMIS_PATH = "/artemis"; @@ -53,23 +60,35 @@ // 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("鎺ュ彛锛氥�恵}銆戯紝璋冪敤澶辫触"); - 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; @@ -83,6 +102,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