gao.qiang 1 рік тому
батько
коміт
b0456908bf

+ 55 - 34
vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -578,7 +578,10 @@ public class GeoHazardMonitorTokenController {
             List<TerminalHeartbeatLog> heartbeatLogList = terminalHeartbeatLogService.list(new LambdaQueryWrapper<TerminalHeartbeatLog>()
                     .orderByDesc(TerminalHeartbeatLog::getCreateTime)
                     .last("limit 2"));
-            List<String> codeList = heartbeatLogList.stream().map(TerminalHeartbeatLog::getCameraCode).collect(Collectors.toList());
+            List<String> codeList = new ArrayList<>();
+            if (!ObjectUtils.isEmpty(heartbeatLogList)) {
+                codeList = heartbeatLogList.stream().map(TerminalHeartbeatLog::getCameraCode).collect(Collectors.toList());
+            }
 
             //目视距离和里程位置
             if (save && update) {
@@ -656,10 +659,12 @@ public class GeoHazardMonitorTokenController {
                         if (baseCameraManagementList.size() > 0) {
                             String playFlv = cameraUtil.heartbeatgetUrl(baseCameraManagementList.get(0).getCameraCode(), baseCameraManagementList.get(0).getChannel(), type);
                             //判断心跳相机日志表后两条数据是否包含该相机编码
-                            if (!codeList.contains(baseCameraManagementList.get(0).getCameraCode())) {
-                                //如果不包含此相机编码
-                                for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                    cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                            if (!ObjectUtils.isEmpty(codeList)) {
+                                if (!codeList.contains(baseCameraManagementList.get(0).getCameraCode())) {
+                                    //如果不包含此相机编码
+                                    for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                        cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                    }
                                 }
                             }
                             //添加心跳相机日志信息
@@ -728,10 +733,12 @@ public class GeoHazardMonitorTokenController {
                                     //判断流媒体是否有流
                                     String playFlv = cameraUtil.heartbeatgetUrl(baseList.get(o).getCameraCode(), baseList.get(o).getChannel(), type);
                                     //判断心跳相机日志表后两条数据是否包含该相机编码
-                                    if (!codeList.contains(baseList.get(o).getCameraCode())) {
-                                        //如果不包含此相机编码
-                                        for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                            cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                    if (!ObjectUtils.isEmpty(codeList)) {
+                                        if (!codeList.contains(baseList.get(o).getCameraCode())) {
+                                            //如果不包含此相机编码
+                                            for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                                cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                            }
                                         }
                                     }
                                     //添加心跳相机日志信息
@@ -785,10 +792,12 @@ public class GeoHazardMonitorTokenController {
                         for (BaseCameraManagement baseCameraManagement : list1) {
                             cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), type);
                             //判断心跳相机日志表后两条数据是否包含该相机编码
-                            if (!codeList.contains(baseCameraManagement.getCameraCode())) {
-                                //如果不包含此相机编码
-                                for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                    cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                            if (!ObjectUtils.isEmpty(codeList)) {
+                                if (!codeList.contains(baseCameraManagement.getCameraCode())) {
+                                    //如果不包含此相机编码
+                                    for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                        cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                    }
                                 }
                             }
                             //添加心跳相机日志信息
@@ -827,13 +836,16 @@ public class GeoHazardMonitorTokenController {
                             log.info("--------------->>已进入拉四路视频");
                             for (BaseCameraManagement baseCameraManagement : list1) {
                                 boolean finalType = type;
+                                List<String> finalCodeList4 = codeList;
                                 CompletableFuture.runAsync(() -> {
                                     cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType);
                                     //判断心跳相机日志表后两条数据是否包含该相机编码
-                                    if (!codeList.contains(baseCameraManagement.getCameraCode())) {
-                                        //如果不包含此相机编码
-                                        for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                            cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                    if (!ObjectUtils.isEmpty(finalCodeList4)) {
+                                        if (!finalCodeList4.contains(baseCameraManagement.getCameraCode())) {
+                                            //如果不包含此相机编码
+                                            for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                                cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                            }
                                         }
                                     }
                                     //添加心跳相机日志信息
@@ -846,13 +858,16 @@ public class GeoHazardMonitorTokenController {
                             log.info("list1-------------->>" + list1.size());
                             for (BaseCameraManagement baseCameraManagement : list1) {
                                 boolean finalType1 = type;
+                                List<String> finalCodeList5 = codeList;
                                 CompletableFuture.runAsync(() -> {
                                     cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType1);
-                                    //判断心跳相机日志表后两条数据是否包含该相机编码
-                                    if (!codeList.contains(baseCameraManagement.getCameraCode())) {
-                                        //如果不包含此相机编码
-                                        for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                            cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                    if (!ObjectUtils.isEmpty(finalCodeList5)) {
+                                        //判断心跳相机日志表后两条数据是否包含该相机编码
+                                        if (!finalCodeList5.contains(baseCameraManagement.getCameraCode())) {
+                                            //如果不包含此相机编码
+                                            for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                                cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                            }
                                         }
                                     }
                                     //添加心跳相机日志信息
@@ -900,14 +915,17 @@ public class GeoHazardMonitorTokenController {
                     if (StringUtils.isEmpty(playFlv)) {
                         log.info("--------------->>已进入拉四路视频");
                         for (BaseCameraManagement baseCameraManagement : list1) {
+                            List<String> finalCodeList2 = codeList;
                             boolean finalType2 = type;
                             CompletableFuture.runAsync(() -> {
                                 cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType2);
-                                //判断心跳相机日志表后两条数据是否包含该相机编码
-                                if (!codeList.contains(baseCameraManagement.getCameraCode())) {
-                                    //如果不包含此相机编码
-                                    for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                        cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                if (!ObjectUtils.isEmpty(finalCodeList2)) {
+                                    //判断心跳相机日志表后两条数据是否包含该相机编码
+                                    if (!finalCodeList2.contains(baseCameraManagement.getCameraCode())) {
+                                        //如果不包含此相机编码
+                                        for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                            cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                        }
                                     }
                                 }
                                 //添加心跳相机日志信息
@@ -920,13 +938,16 @@ public class GeoHazardMonitorTokenController {
                         log.info("list1-------------->>" + list1.size());
                         for (BaseCameraManagement baseCameraManagement : list1) {
                             boolean finalType3 = type;
+                            List<String> finalCodeList3 = codeList;
                             CompletableFuture.runAsync(() -> {
                                 cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType3);
-                                //判断心跳相机日志表后两条数据是否包含该相机编码
-                                if (!codeList.contains(baseCameraManagement.getCameraCode())) {
-                                    //如果不包含此相机编码
-                                    for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
-                                        cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                if (!ObjectUtils.isEmpty(finalCodeList3)) {
+                                    //判断心跳相机日志表后两条数据是否包含该相机编码
+                                    if (!finalCodeList3.contains(baseCameraManagement.getCameraCode())) {
+                                        //如果不包含此相机编码
+                                        for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
+                                            cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
+                                        }
                                     }
                                 }
                                 //添加心跳相机日志信息
@@ -1350,12 +1371,12 @@ public class GeoHazardMonitorTokenController {
                 if (ObjectUtils.isEmpty(one.getReleasedUrl())) {
                     //获取报警里程所监控的所有相机
                     LambdaQueryWrapper<BaseCameraManagement> camera = new LambdaQueryWrapper<BaseCameraManagement>();
-                    if (one.getLineDir()==1){
+                    if (one.getLineDir() == 1) {
                         camera.ge(BaseCameraManagement::getBeginMile, one.getAlarmMile());
                         camera.le(BaseCameraManagement::getEndMile, one.getAlarmMile());
                         camera.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
                         camera.orderByAsc(BaseCameraManagement::getInstallMile);
-                    }else if (one.getLineDir()==2){
+                    } else if (one.getLineDir() == 2) {
                         camera.le(BaseCameraManagement::getBeginMile, one.getAlarmMile());
                         camera.ge(BaseCameraManagement::getEndMile, one.getAlarmMile());
                         camera.in(BaseCameraManagement::getMonitoringDirection, 2, 3);