Browse Source

报警类型为异物侵限时,显示萤石云视频

gao.qiang 11 months ago
parent
commit
7b55bdaba2

+ 4 - 0
business-service/src/main/java/com/ozs/entity/vo/MsgAlarmResp.java

@@ -152,4 +152,8 @@ public class MsgAlarmResp implements Serializable {
     private String enableOrNotName;
 
     private Integer alarmLevel;
+    /**
+     * 报警视频的URL
+     */
+    private String alarmUrl;
 }

+ 20 - 4
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -21,6 +21,7 @@ import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.ISysDictTypeService;
+import com.ozs.utils.CameraUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -74,6 +75,8 @@ public class MsgAlarmController extends BaseController {
     private MonitorSystemService monitorSystemService;
     @Autowired
     private BaseTerminalService baseTerminalService;
+    @Autowired
+    private CameraUtil cameraUtil;
 
     /**
      * web更多消息-总数,已读数
@@ -308,13 +311,21 @@ public class MsgAlarmController extends BaseController {
 //            }
             // 查询里程位置最近的相机
             LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<>();
-            if (!StringUtils.isEmptySunhh(msgAlarm.getRailwayCode())) {
-                lw.eq(BaseCameraManagement::getRailwayCode, msgAlarm.getRailwayCode());
+            if (msgAlarm.getLineDir() == 1) {
+                lw.ge(BaseCameraManagement::getEndMile, msgAlarm.getAlarmMile());
+                lw.le(BaseCameraManagement::getBeginMile, msgAlarm.getAlarmMile());
+                lw.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
+                lw.orderByAsc(BaseCameraManagement::getGrou).orderByAsc(BaseCameraManagement::getSort);
             }
-            if (!StringUtils.isEmptySunhh(msgAlarm.getAlarmMile())) {
+            if (msgAlarm.getLineDir() == 2) {
+                lw.ge(BaseCameraManagement::getEndMile, msgAlarm.getAlarmMile());
                 lw.le(BaseCameraManagement::getBeginMile, msgAlarm.getAlarmMile());
-                lw.gt(BaseCameraManagement::getEndMile, msgAlarm.getAlarmMile());
+                lw.in(BaseCameraManagement::getMonitoringDirection, 2, 3);
+                lw.orderByDesc(BaseCameraManagement::getGrou).orderByDesc(BaseCameraManagement::getSort);
             }
+            lw.eq(BaseCameraManagement::getRailwayCode, msgAlarm.getRailwayCode());
+            lw.eq(BaseCameraManagement::getOnline, 2);
+            lw.eq(BaseCameraManagement::getEnableOrNot, 1);
             List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.list(lw);
             BaseCameraManagement baseCameraManagement = new BaseCameraManagement();
             if (!StringUtils.isEmptySunhh(baseCameraManagementList) && baseCameraManagementList.size() > 0) {
@@ -364,6 +375,11 @@ public class MsgAlarmController extends BaseController {
                     }
                 }
             });
+            if (msgAlarm.getAlarmType() == 2) {
+                msgAlarmResp.setAlarmUrl("https://rtmp01open.ys7.com:9188/v3/openlive/K38316196_1_1.flv?expire=1745409016&id=704781554165264384&t=477265ab4d36debe072836e0b16755ba50303c3b8eb165a628bc9c0a0328afb5&ev=100");
+            }else {
+                msgAlarmResp.setAlarmUrl(cameraUtil.getPlayFlv(baseCameraManagement.getCameraCode(), "channel"));
+            }
             return AjaxResult.success(msgAlarmResp);
         } else {
             return success("无报警信息数据");