From 69cd43d9303ed7cd985bd64379b4cc5b0aecef14 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 15 一月 2025 17:01:26 +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