|
@@ -86,6 +86,7 @@ import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
+import java.util.concurrent.ThreadPoolExecutor;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -577,7 +578,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
LambdaQueryWrapper<MsgAlarm> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.ge(MsgAlarm::getAlarmMile, heartbeatVo.getCurrentMile());
|
|
|
queryWrapper.le(MsgAlarm::getAlarmMile, (heartbeatVo.getCurrentMile() + 10000));
|
|
|
- queryWrapper.eq(MsgAlarm::getLineDir, heartbeatVo.getLineDir());
|
|
|
queryWrapper.eq(MsgAlarm::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
queryWrapper.orderByAsc(MsgAlarm::getAlarmMile);
|
|
|
queryWrapper.eq(MsgAlarm::getIsRelease, 2);
|
|
@@ -594,15 +594,18 @@ public class GeoHazardMonitorTokenController {
|
|
|
String previousFormattedDateTime = previousDateTime.format(formatter);
|
|
|
|
|
|
LambdaQueryWrapper<TerminalIgnoreAlarm> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ //报警信息表中报警标识的信息
|
|
|
List<String> collect = alarmsList.stream().map(MsgAlarm::getAlarmId).collect(Collectors.toList());
|
|
|
queryWrapper1.in(TerminalIgnoreAlarm::getAlarmId, collect);
|
|
|
queryWrapper1.eq(TerminalIgnoreAlarm::getTerminalCode, heartbeatVo.getTerminalCode());
|
|
|
queryWrapper1.ge(TerminalIgnoreAlarm::getIgnoreTime, previousFormattedDateTime);
|
|
|
queryWrapper1.le(TerminalIgnoreAlarm::getIgnoreTime, currentFormattedDateTime);
|
|
|
+ //终端忽略报警信息记录表
|
|
|
List<TerminalIgnoreAlarm> list2 = terminalIgnoreAlarmService.list(queryWrapper1);
|
|
|
//找出未忽略的报警信息
|
|
|
LambdaQueryWrapper<MsgAlarm> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
if (!ObjectUtils.isEmpty(list2)) {
|
|
|
+ //忽略报警表中报警标识的信息
|
|
|
List<String> collect1 = list2.stream().map(TerminalIgnoreAlarm::getAlarmId).collect(Collectors.toList());
|
|
|
List<String> list = collect.stream()
|
|
|
.filter(item -> !collect1.contains(item))
|
|
@@ -622,7 +625,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
LambdaQueryWrapper<BaseCameraManagement> camera = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
camera.ge(BaseCameraManagement::getEndMile, list.get(0).getAlarmMile());
|
|
|
camera.le(BaseCameraManagement::getBeginMile, list.get(0).getAlarmMile());
|
|
|
- camera.eq(BaseCameraManagement::getLineDir, heartbeatVo.getLineDir());
|
|
|
camera.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
// camera.eq(BaseCameraManagement::getOnline,2);
|
|
|
camera.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
@@ -684,7 +686,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
LambdaQueryWrapper<BaseCameraManagement> ment = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
ment.ge(BaseCameraManagement::getEndMile, list.get(i).getAlarmMile());
|
|
|
ment.le(BaseCameraManagement::getBeginMile, list.get(i).getAlarmMile());
|
|
|
- ment.eq(BaseCameraManagement::getLineDir, heartbeatVo.getLineDir());
|
|
|
ment.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
ment.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
ment.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
@@ -747,7 +748,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (heartbeatVo.getLineDir() == 2) {
|
|
|
base.lt(BaseCameraManagement::getInstallMile, distance);
|
|
|
}
|
|
|
- base.eq(BaseCameraManagement::getLineDir, heartbeatVo.getLineDir());
|
|
|
base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
base.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
@@ -759,16 +759,27 @@ public class GeoHazardMonitorTokenController {
|
|
|
jsonObject.put("data", "没有监控里程的相机");
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
}
|
|
|
- //获取视频点播地址
|
|
|
- CamerasVo camerasVo = new CamerasVo();
|
|
|
- camerasVo.setStreamType(type);
|
|
|
- camerasVo.setCameraIndexCode(list1.get(0).getCameraCode());
|
|
|
- String playFlv = cameraUtil.apiPreviewURLs(camerasVo);
|
|
|
- if ("1".equals(playFlv)) {
|
|
|
- jsonObject.put("resultCode", 0);
|
|
|
- jsonObject.put("message", "失败");
|
|
|
- jsonObject.put("data", "天网实时流接口调用失败");
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
+ log.info("流程1----------------->");
|
|
|
+ //判断流媒体是否有流
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel());
|
|
|
+ log.info("playFlv------------>"+playFlv);
|
|
|
+ //拉四路视频
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ log.info("--------------->>已进入拉四路视频");
|
|
|
+ for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.info("-------------->>已进入拉三路路视频");
|
|
|
+ list1.remove(0);
|
|
|
+ log.info("list1-------------->>"+list1.size());
|
|
|
+ for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
twoMap.put("currentStream", playFlv);
|
|
|
twoMap.put("cameraCode", list1.get(0).getCameraCode());
|
|
@@ -788,7 +799,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (heartbeatVo.getLineDir() == 2) {
|
|
|
base.lt(BaseCameraManagement::getInstallMile, distance);
|
|
|
}
|
|
|
- base.eq(BaseCameraManagement::getLineDir, heartbeatVo.getLineDir());
|
|
|
base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
base.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
@@ -800,16 +810,27 @@ public class GeoHazardMonitorTokenController {
|
|
|
jsonObject.put("data", "没有监控里程的相机");
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
}
|
|
|
- //获取视频点播地址
|
|
|
- CamerasVo camerasVo = new CamerasVo();
|
|
|
- camerasVo.setStreamType(type);
|
|
|
- camerasVo.setCameraIndexCode(list1.get(0).getCameraCode());
|
|
|
- String playFlv = cameraUtil.apiPreviewURLs(camerasVo);
|
|
|
- if ("1".equals(playFlv)) {
|
|
|
- jsonObject.put("resultCode", 0);
|
|
|
- jsonObject.put("message", "失败");
|
|
|
- jsonObject.put("data", "天网实时流接口调用失败");
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
+ log.info("流程2----------------->");
|
|
|
+ //判断流媒体是否有流
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel());
|
|
|
+ log.info("playFlv------------>"+playFlv);
|
|
|
+ //拉四路视频
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ log.info("--------------->>已进入拉四路视频");
|
|
|
+ for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.info("-------------->>已进入拉三路路视频");
|
|
|
+ list1.remove(0);
|
|
|
+ log.info("list1-------------->>"+list1.size());
|
|
|
+ for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
twoMap.put("currentStream", playFlv);
|
|
|
twoMap.put("cameraCode", list1.get(0).getCameraCode());
|