ソースを参照

视频回放接口

hexiao 1 年間 前
コミット
e88e00efb4

+ 8 - 1
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -841,7 +841,14 @@ public class BaseCameraManagementController extends BaseController {
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
     public AjaxResult getRecordByAlarmId(@RequestParam("alarmId") String alarmId) {
         Object cacheObject = redisCache.getCacheObject("STREAMING_ALARM_VIDEO:" + alarmId);
-        log.info("待合成视频的报警信息集合:{}", redisCache.getCacheMap("WAIT_MERGE_VIDEO_ALARM_ID"));
+        Map<String, Object> wait_merge_video_alarm_id = redisCache.getCacheMap("WAIT_MERGE_VIDEO_ALARM_ID");
+        log.info("待合成视频的报警信息集合:{}", wait_merge_video_alarm_id);
+        if (!wait_merge_video_alarm_id.keySet().contains(alarmId)) {
+            return error("报警UUID:" + alarmId + ",是属于旧数据。请用新数据测试");
+        }
+        if (ObjectUtils.isEmpty(cacheObject)) {
+            return error("报警UUID:" + alarmId + ",没有视频录像");
+        }
         return new AjaxResult(200, "ok", cacheObject);
     }
 

+ 1 - 0
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -802,6 +802,7 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.flv
                             log.info("报警UUID:{},相机通道:{},开始时间:{},结束时间:{}", alarmId, cameraChannelByAlarmId, (Date) oTime, date);
                             String url = historyPlayListStr(cameraChannelByAlarmId, (Date) oTime, date);
                             redisCache.setCacheObject("STREAMING_ALARM_VIDEO:" + alarmId, url);
+                            redisCache.expire("STREAMING_ALARM_VIDEO:" + alarmId, 365L, TimeUnit.DAYS);
                             alarmIdMap.remove(alarmId);
                         }
                     }