From a05b419384e148fc950c77553816a2d05144f4ae Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 19 六月 2025 19:36:22 +0800
Subject: [PATCH] 修改生产环境配置

---
 ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/util/haikang/Artemis.java |  178 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 146 insertions(+), 32 deletions(-)

diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/util/haikang/Artemis.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/util/haikang/Artemis.java
index d8614a1..ee75733 100644
--- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/util/haikang/Artemis.java
+++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/util/haikang/Artemis.java
@@ -1,22 +1,15 @@
 package com.ruoyi.dataInterchange.util.haikang;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSONArray;
 import com.hikvision.artemis.sdk.ArtemisHttpUtil;
 import com.hikvision.artemis.sdk.config.ArtemisConfig;
-import com.ruoyi.dataInterchange.util.haikang.model.EventSubscriptionByEventTypesRequest;
-import com.ruoyi.dataInterchange.util.haikang.model.EventSubscriptionViewRequest;
-import com.ruoyi.dataInterchange.util.haikang.model.EventUnSubscriptionByEventTypesRequest;
-import com.ruoyi.dataInterchange.util.haikang.model.GetTopicInfoRequest;
+import com.ruoyi.dataInterchange.util.haikang.model.*;
 import lombok.extern.slf4j.Slf4j;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -38,7 +31,7 @@
 	 * appKey : 请填入appKey
 	 * appSecret : 请填入appSecret
 	 */
-	private static ArtemisConfig artemisConfig = new ArtemisConfig("https://112.18.106.230:443", "27273246", "vjvZA7X4hHUc0SbONht9");
+	private static ArtemisConfig artemisConfig = new ArtemisConfig("112.18.106.230:443", "27273246", "vjvZA7X4hHUc0SbONht9");
 	
 	//按事件类型取消订阅
 	public static String eventUnSubscriptionByEventTypes(EventUnSubscriptionByEventTypesRequest eventUnSubscriptionByEventTypesRequest) throws Exception {
@@ -53,20 +46,145 @@
 		return result;
 	}
 
-
-	//按事件类型获取事件订阅信息
-	public static String getTopicInfo(GetTopicInfoRequest getTopicInfoRequest)throws Exception {
-		String getTopicInfoDataApi = ARTEMIS_PATH +"/api/common/v1/event/getTopicInfo";
+	//查询事件订阅信息
+	public static String eventSubscriptionView(EventSubscriptionViewRequest eventSubscriptionViewRequest) throws Exception {
+		String eventSubscriptionViewDataApi = ARTEMIS_PATH +"/api/eventService/v1/eventSubscriptionView";
 		Map<String,String> path = new HashMap<String,String>(2){
 			{
-				put("https://",getTopicInfoDataApi);
+				put("https://",eventSubscriptionViewDataApi);
 			}
 		};
-		String body=JSON.toJSONString(getTopicInfoRequest);
+		String body=JSON.toJSONString(eventSubscriptionViewRequest);
 		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
 		return result;
 	}
 
+	//按事件类型订阅事件
+	public static String eventSubscriptionByEventTypes(EventSubscriptionByEventTypesRequest eventSubscriptionByEventTypesRequest) throws Exception {
+		String eventSubscriptionByEventTypesDataApi = ARTEMIS_PATH +"/api/eventService/v1/eventSubscriptionByEventTypes";
+		Map<String,String> path = new HashMap<String,String>(2){
+			{
+				put("https://",eventSubscriptionByEventTypesDataApi);
+			}
+		};
+		String body=JSON.toJSONString(eventSubscriptionByEventTypesRequest);
+		String result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
+		return result;
+	}
+	
+	public static void main(String[] args) {
+		try {
+			FindVehicleByLicensePlateRequest findVehicleByLicensePlateRequest = new FindVehicleByLicensePlateRequest();
+			findVehicleByLicensePlateRequest.setVehicleLicensePlate("川J52303");
+			String vehicleByLicensePlate = Artemis.findVehicleByLicensePlate(findVehicleByLicensePlateRequest);
+			com.alibaba.fastjson2.JSONObject jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(vehicleByLicensePlate);
+			String code = jsonObject.getString("code");
+			if(!"0".equals(code)){
+				return ;
+			}
+			com.alibaba.fastjson2.JSONObject data = jsonObject.getJSONObject("data");
+			//车辆编号
+			String indexCode = data.getString("indexCode");
+			//主设备编号
+			String primaryDeviceIndexCode = data.getString("primaryDeviceIndexCode");
+			//根据车辆编号和设备编号获取监控点信息列表
+			FindCameraPageRequest findCameraPageRequest = new FindCameraPageRequest();
+			findCameraPageRequest.setPageNo(1);
+			findCameraPageRequest.setPageSize(1000);
+			ExactCondition1 exactCondition = new ExactCondition1();
+			exactCondition.setDeviceIndexCodes(new ArrayList<String>(){{
+				add(primaryDeviceIndexCode);
+			}});
+			exactCondition.setVehicleIndexCodes(new ArrayList<String>(){{
+				add(indexCode);
+			}});
+			findCameraPageRequest.setExactCondition(exactCondition);
+			String cameraPage = Artemis.findCameraPage(findCameraPageRequest);
+			jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(cameraPage);
+			code = jsonObject.getString("code");
+			if(!"0".equals(code)){
+				return;
+			}
+			data = jsonObject.getJSONObject("data");
+			JSONArray list = data.getJSONArray("list");
+			//监控点编号
+			String indexCode1 = "";
+			for (int i = 0; i < list.size(); i++) {
+				com.alibaba.fastjson2.JSONObject jsonObject1 = list.getJSONObject(i);
+				String cameraName = jsonObject1.getString("cameraName");
+				if("驾驶位".equals(cameraName)){
+					indexCode1 = jsonObject1.getString("indexCode");
+				}
+			}
+			
+			//根据监控点编号获取监控预览url
+			PreviewURLsRequest previewURLsRequest = new PreviewURLsRequest();
+			previewURLsRequest.setCameraIndexCode(indexCode1);
+			String s = Artemis.previewURLs(previewURLsRequest);
+			jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(s);
+			code = jsonObject.getString("code");
+			if(!"0".equals(code)){
+				return ;
+			}
+			data = jsonObject.getJSONObject("data");
+			String url = data.getString("url");
+			System.out.println(url);
+		}catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	//根据车牌号码获取车辆信息(含设备)
+	public static String findVehicleByLicensePlate(FindVehicleByLicensePlateRequest findVehicleByLicensePlateRequest)throws Exception{
+		String findVehicleByLicensePlateDataApi = ARTEMIS_PATH +"/api/rtsm/v1/resource/findVehicleByLicensePlate";
+		Map<String,String> path = new HashMap<String,String>(2){
+			{
+				put("https://",findVehicleByLicensePlateDataApi);
+			}
+		};
+		String body=JSON.toJSONString(findVehicleByLicensePlateRequest);
+		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
+		return result;
+	}
+
+	//根据车辆编号与设备编号获取监控点信息列表
+	public static String findCameraPage(FindCameraPageRequest findCameraPageRequest)throws Exception{
+		String findCameraPageDataApi = ARTEMIS_PATH +"/api/rtsm/v1/vehicle/findCameraPage";
+		Map<String,String> path = new HashMap<String,String>(2){
+			{
+				put("https://",findCameraPageDataApi);
+			}
+		};
+		String body=JSON.toJSONString(findCameraPageRequest);
+		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
+		return result;
+	}
+	
+	//获取监控点预览取流URL
+	public static String previewURLs(PreviewURLsRequest previewURLsRequest)throws Exception{
+		String previewURLsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/previewURLs";
+		Map<String,String> path = new HashMap<String,String>(2){
+			{
+				put("https://",previewURLsDataApi);
+			}
+		};
+		String body=JSON.toJSONString(previewURLsRequest);
+		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
+		return result;
+	}
+	
+	//分页查询车辆信息
+	public static String findVehiclePage(FindVehiclePageRequest findVehiclePageRequest)throws Exception{
+		String findVehiclePageDataApi = ARTEMIS_PATH +"/api/rtsm/v1/resource/findVehiclePage";
+		Map<String,String> path = new HashMap<String,String>(2){
+			{
+				put("https://",findVehiclePageDataApi);
+			}
+		};
+		String body=JSON.toJSONString(findVehiclePageRequest);
+		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
+		return result;
+	}
 	
 	public static void run() {
 		try {
@@ -83,34 +201,30 @@
 		}
 	}
 	
-	//查询事件订阅信息
-	public static String eventSubscriptionView(EventSubscriptionViewRequest eventSubscriptionViewRequest) throws Exception {
-		String eventSubscriptionViewDataApi = ARTEMIS_PATH +"/api/eventService/v1/eventSubscriptionView";
+	//按事件类型获取事件订阅信息
+	public static String getTopicInfo(GetTopicInfoRequest getTopicInfoRequest)throws Exception {
+		String getTopicInfoDataApi = ARTEMIS_PATH +"/api/common/v1/event/getTopicInfo";
 		Map<String,String> path = new HashMap<String,String>(2){
 			{
-				put("https://",eventSubscriptionViewDataApi);
+				put("https://",getTopicInfoDataApi);
 			}
 		};
-		String body=JSON.toJSONString(eventSubscriptionViewRequest);
+		String body=JSON.toJSONString(getTopicInfoRequest);
 		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
 		return result;
 	}
 	
-	//按事件类型订阅事件
-	public static String eventSubscriptionByEventTypes(EventSubscriptionByEventTypesRequest eventSubscriptionByEventTypesRequest) throws Exception {
-		String eventSubscriptionByEventTypesDataApi = ARTEMIS_PATH +"/api/eventService/v1/eventSubscriptionByEventTypes";
+	
+	//根据报警ID获取关联图片信息
+	public static String findPicturesByAlarmId(FindPicturesByAlarmIdRequest findPicturesByAlarmIdRequest) throws Exception {
+		String findPicturesByAlarmIdDataApi = ARTEMIS_PATH +"/api/rtsm/v1/multimedia/findPicturesByAlarmId";
 		Map<String,String> path = new HashMap<String,String>(2){
 			{
-				put("https://",eventSubscriptionByEventTypesDataApi);
+				put("https://",findPicturesByAlarmIdDataApi);
 			}
 		};
-		String body=JSON.toJSONString(eventSubscriptionByEventTypesRequest);
-		String result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
+		String body=JSON.toJSONString(findPicturesByAlarmIdRequest);
+		String result =ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path,body,null,null,"application/json");
 		return result;
-	}
-
-
-	public static void main(String[] args) {
-		Artemis.run();
 	}
 }

--
Gitblit v1.7.1