From 5e4a673ecc95d6fb06aec6c5e2f3ec4ffb72584b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 01 八月 2022 14:33:51 +0800
Subject: [PATCH] 修复视频播放点击音量报错 #557,修复编解码信息获取失败
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java | 33 ++++++++++++++++++++++++++++++---
1 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java
index 6fdadf2..f0f2eb2 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java
@@ -5,6 +5,8 @@
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IPlayService;
+import com.genersoft.iot.vmp.utils.DateUtil;
+import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -27,6 +29,7 @@
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import java.time.LocalDate;
import java.util.UUID;
@Api(tags = "鍥芥爣褰曞儚")
@@ -60,15 +63,32 @@
@ApiImplicitParam(name = "endTime", value = "缁撴潫鏃堕棿", dataTypeClass = String.class),
})
@GetMapping("/query/{deviceId}/{channelId}")
- public DeferredResult<ResponseEntity<RecordInfo>> recordinfo(@PathVariable String deviceId,@PathVariable String channelId, String startTime, String endTime){
+ public DeferredResult<ResponseEntity<WVPResult<RecordInfo>>> recordinfo(@PathVariable String deviceId, @PathVariable String channelId, String startTime, String endTime){
if (logger.isDebugEnabled()) {
logger.debug(String.format("褰曞儚淇℃伅鏌ヨ API璋冪敤锛宒eviceId锛�%s 锛宻tartTime锛�%s锛� endTime锛�%s",deviceId, startTime, endTime));
}
+ DeferredResult<ResponseEntity<WVPResult<RecordInfo>>> result = new DeferredResult<>();
+ if (!DateUtil.verification(startTime, DateUtil.formatter)){
+ WVPResult<RecordInfo> wvpResult = new WVPResult<>();
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("startTime error, format is " + DateUtil.PATTERN);
+
+ ResponseEntity<WVPResult<RecordInfo>> resultResponseEntity = new ResponseEntity<>(wvpResult, HttpStatus.OK);
+ result.setResult(resultResponseEntity);
+ return result;
+ }
+ if (!DateUtil.verification(endTime, DateUtil.formatter)){
+ WVPResult<RecordInfo> wvpResult = new WVPResult<>();
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("endTime error, format is " + DateUtil.PATTERN);
+ ResponseEntity<WVPResult<RecordInfo>> resultResponseEntity = new ResponseEntity<>(wvpResult, HttpStatus.OK);
+ result.setResult(resultResponseEntity);
+ return result;
+ }
Device device = storager.queryVideoDevice(deviceId);
// 鎸囧畾瓒呮椂鏃堕棿 1鍒嗛挓30绉�
- DeferredResult<ResponseEntity<RecordInfo>> result = new DeferredResult<>(90*1000L);
String uuid = UUID.randomUUID().toString();
int sn = (int)((Math.random()*9+1)*100000);
String key = DeferredResultHolder.CALLBACK_CMD_RECORDINFO + deviceId + sn;
@@ -76,7 +96,10 @@
msg.setId(uuid);
msg.setKey(key);
cmder.recordInfoQuery(device, channelId, startTime, endTime, sn, null, null, null, (eventResult -> {
- msg.setData("鏌ヨ褰曞儚澶辫触, status: " + eventResult.statusCode + ", message: " + eventResult.msg );
+ WVPResult<RecordInfo> wvpResult = new WVPResult<>();
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("鏌ヨ褰曞儚澶辫触, status: " + eventResult.statusCode + ", message: " + eventResult.msg);
+ msg.setData(wvpResult);
resultHolder.invokeResult(msg);
}));
@@ -84,6 +107,10 @@
resultHolder.put(key, uuid, result);
result.onTimeout(()->{
msg.setData("timeout");
+ WVPResult<RecordInfo> wvpResult = new WVPResult<>();
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("timeout");
+ msg.setData(wvpResult);
resultHolder.invokeResult(msg);
});
return result;
--
Gitblit v1.8.0