Browse Source

查询回放视频根据报警ID接口修改

gao.qiang 1 year ago
parent
commit
6665ad9368

+ 2 - 0
business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java

@@ -244,4 +244,6 @@ public class MsgAlarm extends BaseEntity implements Serializable {
     @Excel(name = "报警是否解除")
     @TableField(exist = false)
     private String  isLockName;
+    
+    private String releasedUrl;
 }

+ 7 - 6
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -852,8 +852,10 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping("/api/getRecordByAlarmId")
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
     public AjaxResult getRecordByAlarmId(@RequestParam("alarmId") String alarmId) {
-        Object cacheObject = redisCache.getCacheObject("STREAMING_ALARM_VIDEO:" + alarmId);
-        if (ObjectUtils.isEmpty(cacheObject)) {
+        LambdaQueryWrapper<MsgAlarm> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(MsgAlarm::getAlarmId, alarmId);
+        MsgAlarm msgAlarm = msgAlarmService.getOne(wrapper);
+        if (ObjectUtils.isEmpty(msgAlarm.getReleasedUrl())) {
             // 表示已经超过报警时间20分钟,可以合成视频
             Map<String, Object> map = baseCameraManagementService.getCameraChannelByAlarmId(alarmId);
             if (!ObjectUtils.isEmpty(map)
@@ -865,8 +867,7 @@ public class BaseCameraManagementController extends BaseController {
                             (Date) map.get("alarmTime"),
                             (Date) map.get("releasedTime"),
                             true);
-                    redisCache.setCacheObject("STREAMING_ALARM_VIDEO:" + alarmId, url);
-                    redisCache.expire("STREAMING_ALARM_VIDEO:" + alarmId, 365L, TimeUnit.DAYS);
+                    msgAlarm.setReleasedUrl(url);
                 } else {
                     url = com.ozs.web.core.util.CameraUtil.historyPlayListStr(map.get("channel").toString(),
                             (Date) map.get("alarmTime"),
@@ -875,11 +876,11 @@ public class BaseCameraManagementController extends BaseController {
                 }
                 return new AjaxResult(200, "ok", serverConfig.getUrl() + url);
             } else {
-                return error("报警ID为:【"+alarmId+"】的相机信息不存在");
+                return error("报警ID为:【" + alarmId + "】的相机信息不存在");
             }
 
         } else {
-            return new AjaxResult(200, "ok", serverConfig.getUrl() + cacheObject);
+            return new AjaxResult(200, "ok", msgAlarm.getReleasedUrl());
         }
     }