From 15766d708c3fe150a71fc0f719c18fbfcb4093f4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 29 五月 2025 09:17:03 +0800
Subject: [PATCH] 添加海康威视实时监控对接功能

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java
index 8d69f84..496c808 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CarController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.dataInterchange.api.feignClient.HaiKangClient;
 import com.ruoyi.dataInterchange.api.feignClient.PlaybackMsgClient;
 import com.ruoyi.dataInterchange.api.feignClient.RealVideoMsgClient;
 import com.ruoyi.dataInterchange.api.feignClient.UPExgMsgRealLocationClient;
@@ -86,6 +87,9 @@
 	@Resource
 	private RedisTemplate redisTemplate;
 	
+	@Resource
+	private HaiKangClient haiKangClient;
+	
 	@GetMapping("/getCarList")
 	@ApiOperation(value = "获取车辆列表", tags = {"车辆管理"})
 	public R<PageInfo<CarListResp>> getCarList(CarListReq carListReq) {
@@ -129,23 +133,32 @@
 		//手动加一次状态数据,避免定时任务结束任务线程
 		redisTemplate.opsForValue().set("live:" + id, true, 1, TimeUnit.MINUTES);
 		Enterprise enterprise = enterpriseService.getById(car.getEnterpriseId());
-		R<UPRealvideoMsgStartupAckVo> msgStartupAckVoR = realVideoMsgClient.startupRealVideo(Integer.valueOf(enterprise.getCode()), car.getVehicleNumber());
-		if (200 == msgStartupAckVoR.getCode()) {
-			UPRealvideoMsgStartupAckVo data = msgStartupAckVoR.getData();
-			
-			RealVideoResp resp = new RealVideoResp();
-			//执行拉流和推流
+		//富临走协议返回flv格式视频流
+		if(enterprise.getCode().equals("17458936")){
+			R<UPRealvideoMsgStartupAckVo> msgStartupAckVoR = realVideoMsgClient.startupRealVideo(Integer.valueOf(enterprise.getCode()), car.getVehicleNumber());
+			if (200 == msgStartupAckVoR.getCode()) {
+				UPRealvideoMsgStartupAckVo data = msgStartupAckVoR.getData();
+				
+				RealVideoResp resp = new RealVideoResp();
+				resp.setCompanyCode(enterprise.getCode());
+				//执行拉流和推流
 //			live_hls(data.getUrl(), car);
 //			resp.setServerIp(hlsIp);
 //			resp.setServerPort(hlsPort);
-			resp.setUrl(data.getUrl());
+				resp.setUrl(data.getUrl());
 //			live_flv(data.getUrl(), car.getId());
-			resp.setServerIp(flvIp);
-			resp.setServerPort(flvHttpPort);
+				resp.setServerIp(flvIp);
+				resp.setServerPort(flvHttpPort);
+				return R.ok(resp);
+			}
+		}else if(enterprise.getCode().equals("25439966")){
+			//海康走API获取预览url,trsp格式
+			String data = haiKangClient.getCarPreviewURLs(car.getVehicleNumber()).getData();
+			RealVideoResp resp = new RealVideoResp();
+			resp.setUrl(data);
 			return R.ok(resp);
 		}
-		
-		return R.fail(msgStartupAckVoR.getMsg());
+		return R.ok();
 	}
 	
 	

--
Gitblit v1.7.1