From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 九月 2025 18:43:14 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java |   52 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 38 insertions(+), 14 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
index ed95c67..9873fe2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
@@ -16,6 +16,7 @@
 	import com.doumee.core.utils.DateUtil;
 	import com.google.common.collect.Maps;
 	import org.apache.commons.lang3.StringUtils;
+	import org.apache.http.client.config.RequestConfig;
 	import org.apache.http.client.methods.CloseableHttpResponse;
 	import org.apache.http.client.methods.HttpGet;
 	import org.apache.http.impl.client.CloseableHttpClient;
@@ -34,6 +35,8 @@
 	private static final String DEFAULT_CHARSET  = "UTF-8";
 	private static final String REGION_ID = "cn-hangzhou";
 	private static final String VERSION = "2.1.0";
+
+	public static  List<CarsDeviceDetaisResponse> HK_CARS_LIST=  null;
 	public static   String BASE_URL = "https://open.hikvisionauto.com:14021/v2/";
 	private static TreeMap<String, String> getBaseParams()   {
 		Map<String, String> params = Maps.newHashMap();
@@ -50,7 +53,6 @@
 
 	public static String sign(String accessSecret, TreeMap<String, String> params, HttpMethod method) throws Exception {
 		String stringToSign = getStringToSign(params, method);
-		System.out.println("StringToSign = [" + stringToSign + "]");
 		javax.crypto.Mac mac = javax.crypto.Mac.getInstance("HmacSHA1");
 		mac.init(new javax.crypto.spec.SecretKeySpec(accessSecret.getBytes(DEFAULT_CHARSET), "HmacSHA1"));
 		byte[] signData = mac.doFinal(stringToSign.getBytes(DEFAULT_CHARSET));
@@ -72,7 +74,15 @@
 	}
 
 	public static void main(String[] args) {
-		getAllCarsDetais();
+//		getAllCarsDetais();
+		CarsAlarmListRequest param = new CarsAlarmListRequest();
+		param.setStartTime(DateUtil.getPlusTime2(DateUtil.getStartOfDay(new Date())));
+		param.setEndTime(DateUtil.getPlusTime2(DateUtil.getEndOfDay(new Date())));
+		param.setPageNo(1);
+		param.setPageSize(100);
+		param.setDeviceCode("15954209015");
+		BaseCarsPageResponse<CarsAlarmListResponse>  data = getAlarmList(param);
+		System.out.println(JSONObject.toJSONString(data));
 	}
 
 	public static List<CarsDeviceDetaisResponse> getAllCarsDetais() {
@@ -82,7 +92,7 @@
 			List<String> cars = new ArrayList<>();
 			List<String> codes = new ArrayList<>();
 			for(CarsDeviceResponse model :data.getResults()){
-//				System.out.println("=================杞︾墝鍙凤細"+model.getPlateNum());
+				System.out.println(model.getTerminalID()+"=================杞︾墝鍙凤細"+model.getPlateNum());
 				cars.add(model.getPlateNum());
 				codes.add(model.getTerminalID());
 				CarsDeviceDetaisResponse t = new CarsDeviceDetaisResponse();
@@ -120,7 +130,7 @@
 		}
 		for(CarsDeviceDetaisResponse m  : list){
 
-			System.out.println("=================杞︾墝鍙凤細"+m.getPlateNum()+" 鐘舵�侊細銆�"+m.getStatus()+"銆�"+" 浣嶇疆锛氥��"+m.getLongitude()+","+m.getLatitude()+"銆�");
+			System.out.println("=================杞︾墝鍙凤細"+m.getPlateNum()+" 鐘舵�侊細銆�"+m.getTerminalID()+"銆�"+" 浣嶇疆锛氥��"+m.getLongitude()+","+m.getLatitude()+"銆�");
 		}
 		return list;
 	}
@@ -154,8 +164,9 @@
 			}
 		}
 		Collections.sort(list, (o1, o2) -> {
-			return (int) (o1.getTimeStamp() - o2.getTimeStamp()); //鎸夋暟閲忎粠澶у埌灏忔帓搴�
+			return (int) (o2.getTimeStamp() - o1.getTimeStamp()); //鎸夋椂闂村�掑簭
 		});
+		System.out.println(JSONObject.toJSONString(list));
 		return list;
 	}
 
@@ -170,6 +181,8 @@
 
 	public static String sendRequest(String url,TreeMap<String, String> map){
 		try {
+
+			map.put("random", System.currentTimeMillis()+"");
 			StringBuilder sortQueryStringTmp = new StringBuilder();
 			for(Map.Entry<String, String> entry : map.entrySet()){
 				sortQueryStringTmp
@@ -181,13 +194,19 @@
 			//涓庝笅鏂圭殑HttpGet瀵瑰簲锛岄噰鐢ㄧ殑鏄疕ttpMethod.GET
 			String sign = sign(ACCESS_SECRET + "&", map, HttpMethod.GET);
 			url += "?Signature=" + specialUrlEncode(sign) + sortQueryStringTmp.toString();
+			RequestConfig requestConfig = RequestConfig.custom()
+					.setSocketTimeout(5000)  // 璁剧疆璇诲彇瓒呮椂鏃堕棿锛堝崟浣嶏細姣锛�
+					.setConnectTimeout(5000) // 璁剧疆杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶏細姣锛�
+					.build();
 			CloseableHttpClient httpClient = HttpClientBuilder.create().build();
 			//涓庝笂鏂圭殑HttpMethod.GET瀵瑰簲锛屼娇鐢℉ttpGet
 			HttpGet httpDelete = new HttpGet(url);
+			httpDelete.setConfig(requestConfig);
 			CloseableHttpResponse response = httpClient.execute(httpDelete);
 			return  EntityUtils.toString(response.getEntity());
 		}catch (Exception e){
 			e.printStackTrace();
+			System.err.println(url);
 		}
 
 		return null;
@@ -222,16 +241,21 @@
 		return  null;
 	}
 	public static  CarsGpsResponse   getLatestGpsInfo(String deviceCode)   {
-		String url = BASE_URL + "gps/latest/";
-		TreeMap<String, String> BASE_PARAMS = getBaseParams();
-		BASE_PARAMS.put("deviceCode", deviceCode);//璁惧鍨嬪彿绉橀挜
-		String str = sendRequest(url,BASE_PARAMS);
-		TypeReference typeReference =
-				new TypeReference<BaseCarsResponse<CarsGpsResponse>>(){};
-		BaseCarsResponse<CarsGpsResponse>   result = JSONObject.parseObject(str, typeReference.getType());
-		if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
-			return  result.getData();
+		try {
+			String url = BASE_URL + "gps/latest/";
+			TreeMap<String, String> BASE_PARAMS = getBaseParams();
+			BASE_PARAMS.put("deviceCode", deviceCode);//璁惧鍨嬪彿绉橀挜
+			String str = sendRequest(url,BASE_PARAMS);
+			TypeReference typeReference =
+					new TypeReference<BaseCarsResponse<CarsGpsResponse>>(){};
+			BaseCarsResponse<CarsGpsResponse>   result = JSONObject.parseObject(str, typeReference.getType());
+			if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+				return  result.getData();
+			}
+		}catch (Exception e){
+			e.printStackTrace();
 		}
+
 		return  null;
 	}
 	public static   Map<String,Integer>   getDeviceStatusList(List<String> code)   {

--
Gitblit v1.9.3