From 730a64be077b51add311b9d880bb23f5162253ec Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 05 一月 2021 14:35:43 +0800
Subject: [PATCH] 优化录像查询,优化注释

---
 src/main/java/com/genersoft/iot/vmp/vmanager/ptz/PtzController.java             |   17 ++++----
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java |   31 ++++++++++-----
 web_src/src/components/videoList.vue                                            |    1 
 src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java       |   13 +++++-
 4 files changed, 40 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 13b83d1..e1d474f 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -188,19 +188,29 @@
     * @param moveSpeed  闀滃ご绉诲姩閫熷害 榛樿 0XFF (0-255)
     * @param zoomSpeed  闀滃ご缂╂斁閫熷害 榛樿 0X1 (0-255)
     */
-    public static String frontEndCmdString(int cmdCode, int parameter1, int parameter2, int combineCode2) {
+
+	/**
+	 * 浜戝彴鎸囦护鐮佽绠�
+	 *
+	 * @param cmdCode 鎸囦护鐮�
+	 * @param horizonSpeed	姘村钩绉诲姩閫熷害
+	 * @param verticalSpeed	鍨傜洿绉诲姩閫熷害
+	 * @param zoomSpeed	    缂╂斁閫熷害
+	 * @return
+	 */
+    public static String frontEndCmdString(int cmdCode, int horizonSpeed, int verticalSpeed, int zoomSpeed) {
 		StringBuilder builder = new StringBuilder("A50F01");
 		String strTmp;
 		strTmp = String.format("%02X", cmdCode);
 		builder.append(strTmp, 0, 2);
-		strTmp = String.format("%02X", parameter1);
+		strTmp = String.format("%02X", horizonSpeed);
 		builder.append(strTmp, 0, 2);
-		strTmp = String.format("%02X", parameter2);
+		strTmp = String.format("%02X", verticalSpeed);
 		builder.append(strTmp, 0, 2);
-		strTmp = String.format("%X", combineCode2);
+		strTmp = String.format("%X", zoomSpeed);
 		builder.append(strTmp, 0, 1).append("0");
 		//璁$畻鏍¢獙鐮�
-		int checkCode = (0XA5 + 0X0F + 0X01 + cmdCode + parameter1 + parameter2 + (combineCode2 & 0XF0)) % 0X100;
+		int checkCode = (0XA5 + 0X0F + 0X01 + cmdCode + horizonSpeed + verticalSpeed + (zoomSpeed & 0XF0)) % 0X100;
 		strTmp = String.format("%02X", checkCode);
 		builder.append(strTmp, 0, 2);
 		return builder.toString();
@@ -249,14 +259,14 @@
 	 * @param device  		鎺у埗璁惧
 	 * @param channelId		棰勮閫氶亾
 	 * @param cmdCode		鎸囦护鐮�
-     * @param parameter1	鏁版嵁1
-     * @param parameter2	鏁版嵁2
-     * @param combineCode2	缁勫悎鐮�2
+     * @param horizonSpeed	姘村钩绉诲姩閫熷害
+     * @param verticalSpeed	鍨傜洿绉诲姩閫熷害
+     * @param zoomSpeed	    缂╂斁閫熷害
 	 */
 	@Override
-	public boolean frontEndCmd(Device device, String channelId, int cmdCode, int parameter1, int parameter2, int combineCode2) {
+	public boolean frontEndCmd(Device device, String channelId, int cmdCode, int horizonSpeed, int verticalSpeed, int zoomSpeed) {
 		try {
-			String cmdStr= frontEndCmdString(cmdCode, parameter1, parameter2, combineCode2);
+			String cmdStr= frontEndCmdString(cmdCode, horizonSpeed, verticalSpeed, zoomSpeed);
 			System.out.println("鎺у埗瀛楃涓诧細" + cmdStr);
 			StringBuffer ptzXml = new StringBuffer(200);
 			ptzXml.append("<?xml version=\"1.0\" ?>\r\n");
@@ -700,7 +710,6 @@
 			recordInfoXml.append("</Query>\r\n");
 			
 			Request request = headerProvider.createMessageRequest(device, recordInfoXml.toString(), "ViaRecordInfoBranch", "FromRecordInfoTag", null);
-
 
 			transmitRequest(device, request);
 		} catch (SipException | ParseException | InvalidArgumentException e) {
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/ptz/PtzController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/ptz/PtzController.java
index 1a90977..4c41e16 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/ptz/PtzController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/ptz/PtzController.java
@@ -29,15 +29,14 @@
 	private IVideoManagerStorager storager;
 
 	/***
-	 * http://localhost:8080/api/ptz/34020000001320000002_34020000001320000008?leftRight=1&upDown=0&inOut=0&moveSpeed=50&zoomSpeed=0
-	 * @param deviceId
-	 * @param channelId
-	 * @param leftRight
-	 * @param upDown
-	 * @param inOut
-	 * @param moveSpeed
-	 * @param zoomSpeed
-	 * @return
+	 * 浜戝彴鎺у埗
+	 * @param deviceId 璁惧id
+	 * @param channelId 閫氶亾id
+	 * @param cmdCode		鎸囦护鐮�
+	 * @param horizonSpeed	姘村钩绉诲姩閫熷害
+	 * @param verticalSpeed	鍨傜洿绉诲姩閫熷害
+	 * @param zoomSpeed	    缂╂斁閫熷害
+	 * @return String 鎺у埗缁撴灉
 	 */
 	@PostMapping("/ptz/{deviceId}/{channelId}")
 	public ResponseEntity<String> ptz(@PathVariable String deviceId,@PathVariable String channelId,int cmdCode, int horizonSpeed, int verticalSpeed, int zoomSpeed){
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java
index 502087e..519d299 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java
@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.vmanager.record;
 
+import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,7 +33,7 @@
 	
 	@Autowired
 	private DeferredResultHolder resultHolder;
-	
+
 	@GetMapping("/record/{deviceId}/{channelId}")
 	public DeferredResult<ResponseEntity<RecordInfo>> recordinfo(@PathVariable String deviceId,@PathVariable String channelId, String startTime,  String endTime){
 		
@@ -42,9 +43,17 @@
 		
 		Device device = storager.queryVideoDevice(deviceId);
 		cmder.recordInfoQuery(device, channelId, startTime, endTime);
-		DeferredResult<ResponseEntity<RecordInfo>> result = new DeferredResult<ResponseEntity<RecordInfo>>();
+		// 鎸囧畾瓒呮椂鏃堕棿 1鍒嗛挓30绉�
+		DeferredResult<ResponseEntity<RecordInfo>> result = new DeferredResult<ResponseEntity<RecordInfo>>(90*1000L);
 		// 褰曞儚鏌ヨ浠hannelId浣滀负deviceId鏌ヨ
 		resultHolder.put(DeferredResultHolder.CALLBACK_CMD_RECORDINFO+channelId, result);
+		result.onTimeout(()->{
+			RequestMessage msg = new RequestMessage();
+			msg.setDeviceId(deviceId);
+			msg.setType(DeferredResultHolder.CALLBACK_CMD_RECORDINFO);
+			msg.setData("timeout");
+			resultHolder.invokeResult(msg);
+		});
         return result;
 	}
 }
diff --git a/web_src/src/components/videoList.vue b/web_src/src/components/videoList.vue
index 9e03696..46b4aac 100644
--- a/web_src/src/components/videoList.vue
+++ b/web_src/src/components/videoList.vue
@@ -182,6 +182,7 @@
 							type: 'success'
 						});
 					}
+					that.initData()
 					that.$refs[itemData.deviceId + 'refbtn' ].loading = false;
 				}).catch(function(e) {
 					console.error(e)

--
Gitblit v1.8.0