|
@@ -37,6 +37,7 @@ import com.ozs.entity.vo.AlarmInfoVo;
|
|
|
import com.ozs.entity.vo.AlarmListVo;
|
|
|
import com.ozs.entity.vo.CameraPlayVo;
|
|
|
import com.ozs.entity.vo.CameraVo;
|
|
|
+import com.ozs.entity.vo.CameraVos;
|
|
|
import com.ozs.entity.vo.CamerasVo;
|
|
|
import com.ozs.entity.vo.Files;
|
|
|
import com.ozs.entity.vo.HeartbeatVo;
|
|
@@ -91,6 +92,7 @@ import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -597,16 +599,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
LambdaQueryWrapper<BaseTerminal> terminal = new LambdaQueryWrapper<>();
|
|
|
terminal.eq(BaseTerminal::getTerminalCode, vehiclePosition.getTerminalCode());
|
|
|
boolean update = baseTerminalService.update(baseTerminal1, terminal);
|
|
|
- //获取心跳接口相机记录表信息
|
|
|
- //List<TerminalHeartbeatLog> heartbeatLogList = terminalHeartbeatLogService.terminalHeartbeatLogList();
|
|
|
- //List<String> codeList = new ArrayList<>();
|
|
|
- //log.info("-----heartbeatLogList----->" + heartbeatLogList);
|
|
|
- //if (!ObjectUtils.isEmpty(heartbeatLogList)) {
|
|
|
- // codeList = heartbeatLogList.stream().map(TerminalHeartbeatLog::getCameraCode).collect(Collectors.toList());
|
|
|
- // log.info("-----codeList----->" + codeList);
|
|
|
- //} else {
|
|
|
- // terminalHeartbeatLogService.add("111", "111");
|
|
|
- //}
|
|
|
|
|
|
//目视距离和里程位置
|
|
|
if (save && update) {
|
|
@@ -714,88 +706,15 @@ public class GeoHazardMonitorTokenController {
|
|
|
playFlv1 = cameraUtil.heartbeatgetUrl(code, channel, type);
|
|
|
}
|
|
|
log.info("-------playFlv--------" + playFlv1);
|
|
|
-// //判断心跳相机日志表后两条数据是否包含该相机编码
|
|
|
-// if (!ObjectUtils.isEmpty(codeList)) {
|
|
|
-// if (!codeList.contains(baseCameraManagementList.get(0).getCameraCode())) {
|
|
|
-// //如果不包含此相机编码
|
|
|
-// for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
|
|
|
-// log.info("-----11111----");
|
|
|
-// cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// //添加心跳相机日志信息
|
|
|
-// int add = terminalHeartbeatLogService.add(baseCameraManagementList.get(0).getCameraCode(), baseCameraManagementList.get(0).getChannel());
|
|
|
-// log.info("-----add----" + add);
|
|
|
-/**
|
|
|
- ArrayList<String> list3 = new ArrayList<>();
|
|
|
- //添加缓存
|
|
|
- String code = baseCameraManagementList.get(0).getCameraCode() + "/" + baseCameraManagementList.get(0).getChannel();
|
|
|
- list3.add(code);
|
|
|
- log.info("--------------heartbeat--------------:" + list3);
|
|
|
- redisCache.setCacheObject("heartbeat", list3);
|
|
|
- //获取缓冲
|
|
|
- List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
- log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
- List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
- log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
- if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
- if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
- heartbeat.addAll(cameraPlayList);
|
|
|
- }
|
|
|
- log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
- List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
- log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
- if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- rtspApiList.removeAll(heartbeat);
|
|
|
- }
|
|
|
- log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
- if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- for (String str : rtspApiList) {
|
|
|
- log.info("--------------str--------------:" + str);
|
|
|
- String[] parts = str.split("/");
|
|
|
- log.info("--------------parts--------------:" + Arrays.toString(parts));
|
|
|
- if (parts.length == 2) {
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
- try {
|
|
|
- TimeUnit.SECONDS.sleep(3);
|
|
|
- } catch (InterruptedException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- cameraUtil.stopStream(parts[0], parts[1]);
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- **/
|
|
|
- respHeartbeatVo.setCurrentStream(playFlv1);
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode(baseCameraManagementList.get(0).getCameraCode());
|
|
|
+ cameraVos.setCurrentStream(playFlv1);
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
respHeartbeatVo.setIsAlarm(1);
|
|
|
- respHeartbeatVo.setCameraCode(baseCameraManagementList.get(0).getCameraCode());
|
|
|
twoMap.put("currentStream", playFlv1);
|
|
|
twoMap.put("cameraCode", baseCameraManagementList.get(0).getCameraCode());
|
|
|
-// //alarmInfo对象
|
|
|
-// AlarmInfoVo alarmInfoVo = new AlarmInfoVo();
|
|
|
-// alarmInfoVo.setAlarmId(list.get(0).getAlarmId());
|
|
|
-// alarmInfoVo.setAlarmMile(list.get(0).getAlarmMile());
|
|
|
-// alarmInfoVo.setAlarmTime(list.get(0).getAlarmTime().getTime());
|
|
|
-// alarmInfoVo.setAlarmContent(list.get(0).getContent());
|
|
|
-// alarmInfoVo.setAlarmType(list.get(0).getAlarmType());
|
|
|
-// alarmInfoVo.setAlarmLevel(list.get(0).getAlarmLevel());
|
|
|
-// LambdaQueryWrapper<MsgAlarmExt> ext = new LambdaQueryWrapper<>();
|
|
|
-// ext.eq(MsgAlarmExt::getAlarmId, list.get(0).getAlarmId());
|
|
|
-// List<MsgAlarmExt> list1 = msgAlarmExtService.list(ext);
|
|
|
-// AlarmFilesVo[] files = new AlarmFilesVo[list1.size()];
|
|
|
-// if (!ObjectUtils.isEmpty(list1)) {
|
|
|
-// for (int i = 0; i < list1.size(); i++) {
|
|
|
-// files[i] = new AlarmFilesVo();
|
|
|
-// files[i].setAlarmAttType(list1.get(i).getAlarmAttType());
|
|
|
-// files[i].setAlarmAttPath(list1.get(i).getAlarmAttPath());
|
|
|
-// }
|
|
|
-// //返回结果
|
|
|
-// alarmInfoVo.setAlarmFiles(files);
|
|
|
-// }
|
|
|
-// respHeartbeatVo.setAlarmInfo(alarmInfoVo);
|
|
|
} else {
|
|
|
//赋值--股道
|
|
|
List<BaseRouteMassage> baseRouteMassageList = baseRouteMassageService.list();
|
|
@@ -852,31 +771,9 @@ public class GeoHazardMonitorTokenController {
|
|
|
ment.in(BaseCameraManagement::getMonitoringDirection, 2, 3);
|
|
|
ment.orderByDesc(BaseCameraManagement::getInstallMile);
|
|
|
}
|
|
|
-// if (i == 0) {
|
|
|
-// ment.last("limit 1,1000000");
|
|
|
-// }
|
|
|
//获取所有报警安装里程位置的相机
|
|
|
List<BaseCameraManagement> baseList = baseCameraManagementService.list(ment);
|
|
|
if (baseList.size() > 0) {
|
|
|
-// //判断流媒体是否有流
|
|
|
-// String playFlv = null;
|
|
|
-// playFlv = cameraUtil.heartbeatgetPlayFlv(baseList.get(0).getCameraCode(), baseList.get(0).getChannel(), type);
|
|
|
-// if (StringUtils.isEmpty(playFlv)) {
|
|
|
-// playFlv = cameraUtil.heartbeatgetUrl(baseList.get(0).getCameraCode(), baseList.get(0).getChannel(), type);
|
|
|
-// }
|
|
|
-// //判断心跳相机日志表后两条数据是否包含该相机编码
|
|
|
-// if (!ObjectUtils.isEmpty(codeList)) {
|
|
|
-// if (!codeList.contains(baseList.get(o).getCameraCode())) {
|
|
|
-// //如果不包含此相机编码
|
|
|
-// for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
|
|
|
-// log.info("-----22222----");
|
|
|
-// cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// //添加心跳相机日志信息
|
|
|
-// int add1 = terminalHeartbeatLogService.add(baseList.get(o).getCameraCode(), baseList.get(o).getChannel());
|
|
|
-// log.info("-----add1----" + add1);
|
|
|
if (i > 0) {
|
|
|
int minDifference = Integer.MAX_VALUE;
|
|
|
String code = null;
|
|
@@ -930,54 +827,12 @@ public class GeoHazardMonitorTokenController {
|
|
|
alarmListVo.setAlarmInfo(alarmInfoVo1);
|
|
|
log.info("----------------alarmListVo-----------" + alarmListVo);
|
|
|
listVos.add(alarmListVo);
|
|
|
-// ArrayList<String> list3 = new ArrayList<>();
|
|
|
-// ////添加缓存
|
|
|
-// //List<String> stringList = redisCache.getCacheObject("heartbeat");
|
|
|
-// String code = baseList.get(0).getCameraCode() + "/" + baseList.get(0).getChannel()+ "/h264_720";
|
|
|
-// list3.add(code);
|
|
|
-// log.info("--------------heartbeat--------------:" + list3);
|
|
|
-// redisCache.setCacheObject("heartbeat", list3);
|
|
|
-// break;
|
|
|
- ////获取缓冲
|
|
|
- //List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
- //log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
- //List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
- //log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
- //if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
- // if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
- // heartbeat.addAll(cameraPlayList);
|
|
|
- // }
|
|
|
- // log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
- // List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
- // log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // rtspApiList.removeAll(heartbeat);
|
|
|
- // }
|
|
|
- // log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // for (String str : rtspApiList) {
|
|
|
- // log.info("--------------str--------------:" + str);
|
|
|
- // String[] parts = str.split("/");
|
|
|
- // log.info("--------------parts--------------:" + parts);
|
|
|
- // if (parts.length == 2) {
|
|
|
- // CompletableFuture.runAsync(() -> {
|
|
|
- // try {
|
|
|
- // TimeUnit.SECONDS.sleep(3);
|
|
|
- // } catch (InterruptedException e) {
|
|
|
- // e.printStackTrace();
|
|
|
- // }
|
|
|
- // cameraUtil.stopStream(parts[0], parts[1]);
|
|
|
- // });
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
}
|
|
|
}
|
|
|
AlarmListVo[] array = listVos.toArray(new AlarmListVo[]{});
|
|
|
log.info("----------------array-----------" + Arrays.toString(array));
|
|
|
respHeartbeatVo.setAlarmList(array);
|
|
|
- //获取机车前两路视频
|
|
|
+ //获取机车前一路视频
|
|
|
int mile = heartbeatVo.getVisualDistance() + heartbeatVo.getCurrentMile();
|
|
|
LambdaQueryWrapper<BaseCameraManagement> base = new LambdaQueryWrapper<>();
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
@@ -991,73 +846,21 @@ public class GeoHazardMonitorTokenController {
|
|
|
base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
base.eq(BaseCameraManagement::getOnline, 2);
|
|
|
base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
- base.last("limit 2");
|
|
|
- List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
- for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), type);
|
|
|
-// //判断心跳相机日志表后两条数据是否包含该相机编码
|
|
|
-// if (!ObjectUtils.isEmpty(codeList)) {
|
|
|
-// if (!codeList.contains(baseCameraManagement.getCameraCode())) {
|
|
|
-// //如果不包含此相机编码
|
|
|
-// for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
|
|
|
-// log.info("-----3333333----");
|
|
|
-// cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// //添加心跳相机日志信息
|
|
|
-// int add2 = terminalHeartbeatLogService.add(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
-// log.info("-----add2----" + add2);
|
|
|
- }
|
|
|
-// ArrayList<String> list3 = new ArrayList<>();
|
|
|
- //添加缓存
|
|
|
-// List<String> stringList = redisCache.getCacheObject("heartbeat");
|
|
|
-// for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
-// String code = baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel() + "/h264_720";
|
|
|
-// list3.add(code);
|
|
|
-// }
|
|
|
-// if (!ObjectUtils.isEmpty(stringList)) {
|
|
|
-// list3.addAll(stringList);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat--------------:" + list3);
|
|
|
-// redisCache.setCacheObject("heartbeat", list3);
|
|
|
- //获取缓冲
|
|
|
- //List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
- //log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
- //List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
- //log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
- //if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
- // if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
- // heartbeat.addAll(cameraPlayList);
|
|
|
- // }
|
|
|
- // log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
- // List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
- // log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // rtspApiList.removeAll(heartbeat);
|
|
|
- // }
|
|
|
- // log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // for (String str : rtspApiList) {
|
|
|
- // log.info("--------------str--------------:" + str);
|
|
|
- // String[] parts = str.split("/");
|
|
|
- // log.info("--------------parts--------------:" + parts);
|
|
|
- // if (parts.length == 2) {
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(2);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.heartbeatGetPlayFlv();
|
|
|
-// });
|
|
|
+ base.last("limit 1");
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(base);
|
|
|
+ //根据相机ID找出分组并排序
|
|
|
+ boolean finalType1 = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.removePlayFlv(heartbeatVo.getLineDir(), heartbeatVo.getCurrentMile(), heartbeatVo.getVisualDistance());
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(baseCameraManagement.getId(), finalType1);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getChannel(), finalType1);
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getChannel(), finalType1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
} else {
|
|
|
//没有报警信息的时候
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
@@ -1123,128 +926,47 @@ public class GeoHazardMonitorTokenController {
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
boolean finalType = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType);
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(baseCameraManagement.getId(), finalType);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getChannel(), finalType);
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
-// //添加心跳相机日志信息
|
|
|
-// int add3 = terminalHeartbeatLogService.add(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
-// log.info("-----add3----" + add3);
|
|
|
}
|
|
|
-// ArrayList<String> list3 = new ArrayList<>();
|
|
|
-// //添加缓存
|
|
|
-// for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
-// String code = baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel() + "/h264_720";
|
|
|
-// list3.add(code);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat--------------:" + list3);
|
|
|
-// redisCache.setCacheObject("heartbeat", list3);
|
|
|
- //获取缓冲
|
|
|
- //List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
- //log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
- //List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
- //log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
- //if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
- // if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
- // heartbeat.addAll(cameraPlayList);
|
|
|
- // }
|
|
|
- // log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
- // List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
- // log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // rtspApiList.removeAll(heartbeat);
|
|
|
- // }
|
|
|
- // log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // for (String str : rtspApiList) {
|
|
|
- // log.info("--------------str--------------:" + str);
|
|
|
- // String[] parts = str.split("/");
|
|
|
- // log.info("--------------parts--------------:" + parts);
|
|
|
- // if (parts.length == 2) {
|
|
|
- // cameraUtil.stopStream(parts[0], parts[1]);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(2);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.heartbeatGetPlayFlv();
|
|
|
+// cameraUtil.removePlayFlv(heartbeatVo.getLineDir(), heartbeatVo.getCurrentMile(), heartbeatVo.getVisualDistance());
|
|
|
// });
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.removePlayFlv(heartbeatVo.getLineDir(), heartbeatVo.getCurrentMile(), heartbeatVo.getVisualDistance());
|
|
|
- });
|
|
|
} else {
|
|
|
log.info("-------------->>已进入拉一路视频");
|
|
|
log.info("list1-------------->>" + list1.size());
|
|
|
for (int i = 1; i < list1.size(); i++) {
|
|
|
- cameraUtil.heartbeatgetUrl(list1.get(i).getCameraCode(), list1.get(i).getChannel(), type);
|
|
|
-// //添加心跳相机日志信息
|
|
|
-// int add4 = terminalHeartbeatLogService.add(list1.get(i).getCameraCode(), list1.get(i).getChannel());
|
|
|
-// log.info("-----add4----" + add4);
|
|
|
+ boolean finalType = type;
|
|
|
+ int finalI = i;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(list1.get(finalI).getId(), finalType);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getChannel(), finalType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
-// ArrayList<String> list3 = new ArrayList<>();
|
|
|
-// //添加缓存
|
|
|
-// for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
-// String code = baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel() + "/h264_720";
|
|
|
-// list3.add(code);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat--------------:" + list3);
|
|
|
-// redisCache.setCacheObject("heartbeat", list3);
|
|
|
- //获取缓冲
|
|
|
- //List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
- //log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
- //List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
- //log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
- //if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
- // if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
- // heartbeat.addAll(cameraPlayList);
|
|
|
- // }
|
|
|
- // log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
- // List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
- // log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // rtspApiList.removeAll(heartbeat);
|
|
|
- // }
|
|
|
- // log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
- // if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
- // for (String str : rtspApiList) {
|
|
|
- // log.info("--------------str--------------:" + str);
|
|
|
- // String[] parts = str.split("/");
|
|
|
- // log.info("--------------parts--------------:" + parts);
|
|
|
- // if (parts.length == 2) {
|
|
|
- // CompletableFuture.runAsync(() -> {
|
|
|
- // try {
|
|
|
- // TimeUnit.SECONDS.sleep(3);
|
|
|
- // } catch (InterruptedException e) {
|
|
|
- // e.printStackTrace();
|
|
|
- // }
|
|
|
- // cameraUtil.stopStream(parts[0], parts[1]);
|
|
|
- // });
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(2);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.heartbeatGetPlayFlv();
|
|
|
-// });
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.removePlayFlv(heartbeatVo.getLineDir(),heartbeatVo.getCurrentMile(),heartbeatVo.getVisualDistance());
|
|
|
- });
|
|
|
+ }
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(list1.get(0).getId(), type);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ for (BaseCameraManagement baseCameraManagement : baseCameraManagementList1) {
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
+ cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), type));
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ }
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
}
|
|
|
twoMap.put("currentStream", playFlv);
|
|
|
twoMap.put("cameraCode", list1.get(0).getCameraCode());
|
|
|
- respHeartbeatVo.setCurrentStream(playFlv);
|
|
|
respHeartbeatVo.setIsAlarm(2);
|
|
|
- respHeartbeatVo.setCameraCode(list1.get(0).getCameraCode());
|
|
|
- respHeartbeatVo.setAlarmList(null);
|
|
|
- respHeartbeatVo.setAlarmInfo(null);
|
|
|
}
|
|
|
} else {
|
|
|
//没有报警信息的时候
|
|
@@ -1310,148 +1032,46 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (StringUtils.isEmpty(playFlv)) {
|
|
|
log.info("--------------->>已进入拉两路视频");
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
- boolean finalType2 = type;
|
|
|
+ boolean finalType = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType2);
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(baseCameraManagement.getId(), finalType);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getChannel(), finalType);
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
- //添加心跳相机日志信息
|
|
|
-// int add5 = terminalHeartbeatLogService.add(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
-// log.info("-----add5----" + add5);
|
|
|
}
|
|
|
-// ArrayList<String> list3 = new ArrayList<>();
|
|
|
-// //添加缓存
|
|
|
-// for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
-// String code = baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel() + "/h264_720";
|
|
|
-// list3.add(code);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat--------------:" + list3);
|
|
|
-// redisCache.setCacheObject("heartbeat", list3);
|
|
|
-// //获取缓冲
|
|
|
-// List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
-// log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
-// List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
-// log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
-// if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
-// if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
-// heartbeat.addAll(cameraPlayList);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
-// List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
-// log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
-// if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
-// rtspApiList.removeAll(heartbeat);
|
|
|
-// }
|
|
|
-// log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
-// if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
-// for (String str : rtspApiList) {
|
|
|
-// log.info("--------------str--------------:" + str);
|
|
|
-// String[] parts = str.split("/");
|
|
|
-// log.info("--------------parts--------------:" + parts);
|
|
|
-// if (parts.length == 2) {
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(3);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.stopStream(parts[0], parts[1]);
|
|
|
-// });
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(2);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.heartbeatGetPlayFlv();
|
|
|
-// });
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.removePlayFlv(heartbeatVo.getLineDir(),heartbeatVo.getCurrentMile(),heartbeatVo.getVisualDistance());
|
|
|
- });
|
|
|
-// List<String> finalCodeList2 = codeList;
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// log.info("-------------->>finalCodeList2-------" + finalCodeList2);
|
|
|
-// if (!ObjectUtils.isEmpty(finalCodeList2)) {
|
|
|
-// //判断心跳相机日志表后两条数据是否包含该相机编码
|
|
|
-// if (!finalCodeList2.contains(list1.get(0).getCameraCode())) {
|
|
|
-// //如果不包含此相机编码
|
|
|
-// for (TerminalHeartbeatLog terminalHeartbeatLog : heartbeatLogList) {
|
|
|
-// log.info("-----6666666----");
|
|
|
-// cameraUtil.stopStream(terminalHeartbeatLog.getCameraCode(), terminalHeartbeatLog.getChannel());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// });
|
|
|
} else {
|
|
|
- log.info("-------------->>已进入拉三路路视频");
|
|
|
+ log.info("-------------->>已进入拉一路路视频");
|
|
|
log.info("list1-------------->>" + list1.size());
|
|
|
for (int i = 1; i < list1.size(); i++) {
|
|
|
- boolean finalType3 = type;
|
|
|
- cameraUtil.heartbeatgetUrl(list1.get(i).getCameraCode(), list1.get(i).getChannel(), finalType3);
|
|
|
-// //添加心跳相机日志信息
|
|
|
-// int add6 = terminalHeartbeatLogService.add(list1.get(i).getCameraCode(), list1.get(i).getChannel());
|
|
|
-// log.info("-----add6----" + add6);
|
|
|
+ boolean finalType = type;
|
|
|
+ int finalI = i;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(list1.get(finalI).getId(), finalType);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getChannel(), finalType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
-// ArrayList<String> list3 = new ArrayList<>();
|
|
|
-// //添加缓存
|
|
|
-// for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
-// String code = baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel() + "/h264_720";
|
|
|
-// list3.add(code);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat--------------:" + list3);
|
|
|
-// redisCache.setCacheObject("heartbeat", list3);
|
|
|
-// //获取缓冲
|
|
|
-// List<String> heartbeat = redisCache.getCacheObject("heartbeat");
|
|
|
-// log.info("--------------heartbeat111--------------:" + heartbeat);
|
|
|
-// List<String> cameraPlayList = redisCache.getCacheObject("cameraPlay");
|
|
|
-// log.info("--------------cameraPlayList--------------:" + cameraPlayList);
|
|
|
-// if (!ObjectUtils.isEmpty(heartbeat)) {
|
|
|
-// if (!ObjectUtils.isEmpty(cameraPlayList)) {
|
|
|
-// heartbeat.addAll(cameraPlayList);
|
|
|
-// }
|
|
|
-// log.info("--------------heartbeat222--------------:" + heartbeat);
|
|
|
-// List<String> rtspApiList = cameraUtil.rtspApiList();
|
|
|
-// log.info("--------------rtspApiList1111--------------:" + rtspApiList);
|
|
|
-// if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
-// rtspApiList.removeAll(heartbeat);
|
|
|
-// }
|
|
|
-// log.info("--------------rtspApiList2222--------------:" + rtspApiList);
|
|
|
-// if (!ObjectUtils.isEmpty(rtspApiList)) {
|
|
|
-// for (String str : rtspApiList) {
|
|
|
-// log.info("--------------str--------------:" + str);
|
|
|
-// String[] parts = str.split("/");
|
|
|
-// log.info("--------------parts--------------:" + parts);
|
|
|
-// if (parts.length == 2) {
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(3);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.stopStream(parts[0], parts[1]);
|
|
|
-// });
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// try {
|
|
|
-// TimeUnit.SECONDS.sleep(2);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// cameraUtil.heartbeatGetPlayFlv();
|
|
|
-// });
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.removePlayFlv(heartbeatVo.getLineDir(),heartbeatVo.getCurrentMile(),heartbeatVo.getVisualDistance());
|
|
|
- });
|
|
|
+ }
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(list1.get(0).getId(), type);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ for (BaseCameraManagement baseCameraManagement : baseCameraManagementList1) {
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
+ cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), type));
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ }
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
}
|
|
|
twoMap.put("currentStream", playFlv);
|
|
|
twoMap.put("cameraCode", list1.get(0).getCameraCode());
|
|
|
- respHeartbeatVo.setCurrentStream(playFlv);
|
|
|
+ respHeartbeatVo.setIsAlarm(2);
|
|
|
//赋值--股道
|
|
|
List<BaseRouteMassage> list = baseRouteMassageService.list();
|
|
|
if (!ObjectUtils.isEmpty(list)) {
|
|
@@ -1480,15 +1100,11 @@ public class GeoHazardMonitorTokenController {
|
|
|
respHeartbeatVo.setRouteTrack("");
|
|
|
respHeartbeatVo.setStationCode("");
|
|
|
}
|
|
|
- respHeartbeatVo.setIsAlarm(2);
|
|
|
- respHeartbeatVo.setCameraCode(list1.get(0).getCameraCode());
|
|
|
- respHeartbeatVo.setAlarmList(null);
|
|
|
- respHeartbeatVo.setAlarmInfo(null);
|
|
|
}
|
|
|
twoMap.put("visualDistance", heartbeatVo.getVisualDistance().toString());
|
|
|
String string = JSON.toJSONString(twoMap);
|
|
|
heartbeatUtils.createHeartbeat(Constant.HERTBEA_KEY + heartbeatVo.getTerminalCode(), string);
|
|
|
- if (StringUtils.isNotEmpty(respHeartbeatVo.getCurrentStream())) {
|
|
|
+ if (StringUtils.isNotEmpty(respHeartbeatVo.getCameraList())) {
|
|
|
jsonObject.put("resultCode", 1);
|
|
|
jsonObject.put("message", "ok");
|
|
|
} else {
|
|
@@ -1505,13 +1121,11 @@ public class GeoHazardMonitorTokenController {
|
|
|
} else {
|
|
|
jsonObject.put("resultCode", 0);
|
|
|
jsonObject.put("message", "心跳机制交互失败");
|
|
|
- jsonObject.put("data", "");
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
}
|
|
|
} else {
|
|
|
jsonObject.put("resultCode", 2);
|
|
|
jsonObject.put("message", "token验证失败");
|
|
|
- jsonObject.put("data", "");
|
|
|
return JSONObject.toJSONString(jsonObject);
|
|
|
}
|
|
|
|