|
@@ -161,6 +161,13 @@ public class GeoHazardMonitorTokenController {
|
|
|
private String env;
|
|
|
@Value("${sdk.publish}")
|
|
|
private String sdkUrl;
|
|
|
+
|
|
|
+ @Value("${base.httpUrl}")
|
|
|
+ public String httpUrl;
|
|
|
+
|
|
|
+ @Value("${base.httpUrls}")
|
|
|
+ public String httpUrls;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ISysDictTypeService dictTypeService;
|
|
|
@Resource
|
|
@@ -498,10 +505,9 @@ public class GeoHazardMonitorTokenController {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
log.info("接受心跳时间: " + sdf.format(new Date(begin)));
|
|
|
- Map<String, Object> twoMap = new HashMap<>();
|
|
|
- String playFlv1 = null;
|
|
|
int distance = 0;
|
|
|
boolean type = true;
|
|
|
+ String playFlv1 = null;
|
|
|
RespHeartbeatVo respHeartbeatVo = new RespHeartbeatVo();
|
|
|
String token = apiTokenUtils.getGeoHazardMonitorToken(request);
|
|
|
log.info("token:{}", token);
|
|
@@ -682,27 +688,35 @@ public class GeoHazardMonitorTokenController {
|
|
|
log.info("------------graphicsCard-------" + graphicsCard);
|
|
|
}
|
|
|
}
|
|
|
- playFlv1 = cameraUtil.heartbeatgetPlayFlv(code, graphicsCard, type);
|
|
|
- if (StringUtils.isEmpty(playFlv1)) {
|
|
|
- playFlv1 = cameraUtil.heartbeatgetUrl(code, graphicsCard, type);
|
|
|
- if (playFlv1.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, playFlv1);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ String finalCode = code;
|
|
|
+ String finalGraphicsCard = graphicsCard;
|
|
|
+ boolean finalType1 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(finalCode, finalGraphicsCard, finalType1);
|
|
|
+ log.info("-------playFlv--------" + playFlv);
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(finalCode, finalGraphicsCard, finalType1, httpUrl);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- log.info("-------playFlv--------" + playFlv1);
|
|
|
+ });
|
|
|
CameraVos cameraVos = new CameraVos();
|
|
|
cameraVos.setCameraCode(code);
|
|
|
- cameraVos.setCurrentStream(playFlv1);
|
|
|
+ cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(code, graphicsCard, type, httpUrl));
|
|
|
List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
cameraVosList.add(cameraVos);
|
|
|
respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
respHeartbeatVo.setIsAlarm(1);
|
|
|
- twoMap.put("currentStream", playFlv1);
|
|
|
- twoMap.put("cameraCode", baseCameraManagementList.get(0).getCameraCode());
|
|
|
} else {
|
|
|
- AjaxResults1 = new AjaxResults(0, "报警里程无可用相机", respHeartbeatVo);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode("该里程位置,没有可用的报警相机");
|
|
|
+ cameraVos.setCurrentStream("");
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
+ respHeartbeatVo.setIsAlarm(1);
|
|
|
}
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
MsgHeartbeatAlarmMessage msgHearbeatAlarmMessage = new MsgHeartbeatAlarmMessage();
|
|
@@ -807,14 +821,26 @@ public class GeoHazardMonitorTokenController {
|
|
|
List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(baseCameraManagement.getId(), heartbeatVo.getLineDir());
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
- String playFlv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), type);
|
|
|
- if (StringUtils.isEmpty(playFlv)) {
|
|
|
- String url = cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), type);
|
|
|
- if (url.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, url);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ boolean finalType2 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
}
|
|
|
- }
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType2);
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType2, url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
} else if (!"[]".equals(preAlarm.getPreAlarmList())) {
|
|
@@ -869,33 +895,72 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
//添加预警信息
|
|
|
preAlarmListResponse.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
- preAlarmListResponse.setCameraStream(cameraUtil.heartbeatgetPlayFlv(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type));
|
|
|
+ preAlarmListResponse.setCameraStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type, httpUrl));
|
|
|
}
|
|
|
if (i == 0) {
|
|
|
- playFlv1 = cameraUtil.heartbeatgetPlayFlv(code, graphicsCard, type);
|
|
|
- if (StringUtils.isEmpty(playFlv1)) {
|
|
|
- playFlv1 = cameraUtil.heartbeatgetUrl(code, graphicsCard, type);
|
|
|
- if (playFlv1.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, playFlv1);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ String finalCode = code;
|
|
|
+ String finalGraphicsCard = graphicsCard;
|
|
|
+ boolean finalType3 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(finalCode, finalGraphicsCard, finalType3);
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(finalCode, finalGraphicsCard, finalType3, httpUrl);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- log.info("-------playFlv--------" + playFlv1);
|
|
|
+ });
|
|
|
CameraVos cameraVos = new CameraVos();
|
|
|
cameraVos.setCameraCode(code);
|
|
|
- cameraVos.setCurrentStream(playFlv1);
|
|
|
- preAlarmListResponse.setCameraCode(code);
|
|
|
- preAlarmListResponse.setCameraStream(playFlv1);
|
|
|
+ cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(code, graphicsCard, type, httpUrl));
|
|
|
List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
cameraVosList.add(cameraVos);
|
|
|
respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
respHeartbeatVo.setIsAlarm(1);
|
|
|
- twoMap.put("currentStream", playFlv1);
|
|
|
- twoMap.put("cameraCode", baseCameraManagementList.get(0).getCameraCode());
|
|
|
}
|
|
|
} else {
|
|
|
- preAlarmListResponse.setCameraCode("");
|
|
|
- preAlarmListResponse.setCameraStream("");
|
|
|
+ if (i == 0 && respHeartbeatVo.getCameraList().size() == 0) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> base = new LambdaQueryWrapper<>();
|
|
|
+ if (heartbeatVo.getLineDir() == 1) {
|
|
|
+ distance = heartbeatVo.getVisualDistance() + heartbeatVo.getCurrentMile();
|
|
|
+ base.ge(BaseCameraManagement::getInstallMile, distance);
|
|
|
+ base.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
+ base.orderByAsc(BaseCameraManagement::getGrou).orderByAsc(BaseCameraManagement::getSort);
|
|
|
+ base.le(BaseCameraManagement::getInstallMile, (heartbeatVo.getCurrentMile() + 10000));
|
|
|
+ }
|
|
|
+ if (heartbeatVo.getLineDir() == 2) {
|
|
|
+ distance = heartbeatVo.getCurrentMile() - heartbeatVo.getVisualDistance();
|
|
|
+ base.le(BaseCameraManagement::getInstallMile, distance);
|
|
|
+ base.ge(BaseCameraManagement::getInstallMile, (heartbeatVo.getCurrentMile() - 10000));
|
|
|
+ base.in(BaseCameraManagement::getMonitoringDirection, 2, 3);
|
|
|
+ base.orderByDesc(BaseCameraManagement::getGrou).orderByDesc(BaseCameraManagement::getSort);
|
|
|
+ }
|
|
|
+ base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
+ base.eq(BaseCameraManagement::getOnline, 2);
|
|
|
+ base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ base.last("limit 1");
|
|
|
+ List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode(list1.get(0).getCameraCode());
|
|
|
+ cameraVos.setCurrentStream(cameraUtil.getPlayFlvRtsp(list1.get(0).getCameraCode(), list1.get(0).getGraphicsCard(), type, httpUrl));
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
+ respHeartbeatVo.setIsAlarm(1);
|
|
|
+ preAlarmListResponse.setCameraCode("");
|
|
|
+ preAlarmListResponse.setCameraStream("");
|
|
|
+ } else {
|
|
|
+ preAlarmListResponse.setCameraCode("");
|
|
|
+ preAlarmListResponse.setCameraStream("");
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode("该里程位置,没有可用的预警相机");
|
|
|
+ cameraVos.setCurrentStream("");
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
+ respHeartbeatVo.setIsAlarm(1);
|
|
|
+ }
|
|
|
}
|
|
|
BeanUtils.copyProperties(preAlarmList.get(i), preAlarmListResponse);
|
|
|
responseList.add(preAlarmListResponse);
|
|
@@ -954,14 +1019,23 @@ public class GeoHazardMonitorTokenController {
|
|
|
List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(baseCameraManagement.getId(), heartbeatVo.getLineDir());
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
- String flv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), type);
|
|
|
- if (StringUtils.isEmpty(flv)) {
|
|
|
- String url = cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), type);
|
|
|
- if (url.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, url);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ boolean finalType4 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
}
|
|
|
- }
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType4, url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
BaseCameraManagement idOne = baseCameraManagementService.getById(list1.get(0).getId());
|
|
@@ -982,14 +1056,26 @@ public class GeoHazardMonitorTokenController {
|
|
|
List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(list1.get(finalI).getId(), heartbeatVo.getLineDir());
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
- String flv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType);
|
|
|
- if (StringUtils.isEmpty(flv)) {
|
|
|
- String url = cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType);
|
|
|
- if (url.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, url);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ boolean finalType5 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
}
|
|
|
- }
|
|
|
+ String playFlv2 = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType5);
|
|
|
+ if (StringUtils.isEmpty(playFlv2)) {
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType5, url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -998,16 +1084,22 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
for (BaseCameraManagement baseCameraManagement : baseCameraManagementList1) {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
+ }
|
|
|
CameraVos cameraVos = new CameraVos();
|
|
|
cameraVos.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
- String cacheObject = redisCache.getCacheObject(baseCameraManagement.getCameraCode());
|
|
|
- cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type, cacheObject));
|
|
|
+ cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type, url));
|
|
|
cameraVosList.add(cameraVos);
|
|
|
}
|
|
|
respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
}
|
|
|
- twoMap.put("currentStream", playFlv);
|
|
|
- twoMap.put("cameraCode", list1.get(0).getCameraCode());
|
|
|
respHeartbeatVo.setIsAlarm(2);
|
|
|
}
|
|
|
} else if (!"[]".equals(preAlarm.getPreAlarmList())) {
|
|
@@ -1062,33 +1154,73 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
//添加预警信息
|
|
|
preAlarmListResponse.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
- preAlarmListResponse.setCameraStream(cameraUtil.heartbeatgetPlayFlv(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type));
|
|
|
+ preAlarmListResponse.setCameraStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type, httpUrl));
|
|
|
}
|
|
|
if (i == 0) {
|
|
|
- playFlv1 = cameraUtil.heartbeatgetPlayFlv(code, graphicsCard, type);
|
|
|
- if (StringUtils.isEmpty(playFlv1)) {
|
|
|
- playFlv1 = cameraUtil.heartbeatgetUrl(code, graphicsCard, type);
|
|
|
- if (playFlv1.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, playFlv1);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ String finalCode = code;
|
|
|
+ String finalGraphicsCard = graphicsCard;
|
|
|
+ boolean finalType3 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(finalCode, finalGraphicsCard, finalType3);
|
|
|
+ if (StringUtils.isEmpty(playFlv)) {
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(finalCode, finalGraphicsCard, finalType3, httpUrl);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
log.info("-------playFlv--------" + playFlv1);
|
|
|
CameraVos cameraVos = new CameraVos();
|
|
|
cameraVos.setCameraCode(code);
|
|
|
- cameraVos.setCurrentStream(playFlv1);
|
|
|
- preAlarmListResponse.setCameraCode(code);
|
|
|
- preAlarmListResponse.setCameraStream(playFlv1);
|
|
|
+ cameraVos.setCurrentStream(cameraUtil.getPlayFlvRtsp(code, finalGraphicsCard, type, httpUrl));
|
|
|
List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
cameraVosList.add(cameraVos);
|
|
|
respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
respHeartbeatVo.setIsAlarm(1);
|
|
|
- twoMap.put("currentStream", playFlv1);
|
|
|
- twoMap.put("cameraCode", baseCameraManagementList.get(0).getCameraCode());
|
|
|
}
|
|
|
} else {
|
|
|
- preAlarmListResponse.setCameraCode("");
|
|
|
- preAlarmListResponse.setCameraStream("");
|
|
|
+ if (i == 0 && respHeartbeatVo.getCameraList().size() == 0) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> base = new LambdaQueryWrapper<>();
|
|
|
+ if (heartbeatVo.getLineDir() == 1) {
|
|
|
+ distance = heartbeatVo.getVisualDistance() + heartbeatVo.getCurrentMile();
|
|
|
+ base.ge(BaseCameraManagement::getInstallMile, distance);
|
|
|
+ base.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
+ base.orderByAsc(BaseCameraManagement::getGrou).orderByAsc(BaseCameraManagement::getSort);
|
|
|
+ base.le(BaseCameraManagement::getInstallMile, (heartbeatVo.getCurrentMile() + 10000));
|
|
|
+ }
|
|
|
+ if (heartbeatVo.getLineDir() == 2) {
|
|
|
+ distance = heartbeatVo.getCurrentMile() - heartbeatVo.getVisualDistance();
|
|
|
+ base.le(BaseCameraManagement::getInstallMile, distance);
|
|
|
+ base.ge(BaseCameraManagement::getInstallMile, (heartbeatVo.getCurrentMile() - 10000));
|
|
|
+ base.in(BaseCameraManagement::getMonitoringDirection, 2, 3);
|
|
|
+ base.orderByDesc(BaseCameraManagement::getGrou).orderByDesc(BaseCameraManagement::getSort);
|
|
|
+ }
|
|
|
+ base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
+ base.eq(BaseCameraManagement::getOnline, 2);
|
|
|
+ base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ base.last("limit 1");
|
|
|
+ List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode(list1.get(0).getCameraCode());
|
|
|
+ cameraVos.setCurrentStream(cameraUtil.getPlayFlvRtsp(list1.get(0).getCameraCode(), list1.get(0).getGraphicsCard(), type, httpUrl));
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
+ respHeartbeatVo.setIsAlarm(1);
|
|
|
+ preAlarmListResponse.setCameraCode("");
|
|
|
+ preAlarmListResponse.setCameraStream("");
|
|
|
+ } else {
|
|
|
+ preAlarmListResponse.setCameraCode("");
|
|
|
+ preAlarmListResponse.setCameraStream("");
|
|
|
+ CameraVos cameraVos = new CameraVos();
|
|
|
+ cameraVos.setCameraCode("该里程位置,没有可用的预警相机");
|
|
|
+ cameraVos.setCurrentStream("");
|
|
|
+ List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
+ cameraVosList.add(cameraVos);
|
|
|
+ respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
+ respHeartbeatVo.setIsAlarm(1);
|
|
|
+ }
|
|
|
}
|
|
|
BeanUtils.copyProperties(preAlarmList.get(i), preAlarmListResponse);
|
|
|
responseList.add(preAlarmListResponse);
|
|
@@ -1148,14 +1280,23 @@ public class GeoHazardMonitorTokenController {
|
|
|
List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(baseCameraManagement.getId(), heartbeatVo.getLineDir());
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
- String flv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType);
|
|
|
- if (StringUtils.isEmpty(flv)) {
|
|
|
- String url = cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType);
|
|
|
- if (url.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, url);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ boolean finalType4 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
}
|
|
|
- }
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType4, url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
BaseCameraManagement idOne = baseCameraManagementService.getById(list1.get(0).getId());
|
|
@@ -1171,14 +1312,26 @@ public class GeoHazardMonitorTokenController {
|
|
|
List<BaseCameraManagement> baseCameraManagementList1 = cameraUtil.getBaseCameraManagementList(list1.get(i).getId(), heartbeatVo.getLineDir());
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
for (BaseCameraManagement cameraManagement : baseCameraManagementList1) {
|
|
|
- String flv = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), type);
|
|
|
- if (StringUtils.isEmpty(flv)) {
|
|
|
- String url = cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), type);
|
|
|
- if (url.contains("无视频")) {
|
|
|
- AjaxResults1 = new AjaxResults(0, url);
|
|
|
- return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
+ boolean finalType5 = type;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
}
|
|
|
- }
|
|
|
+ String playFlv2 = cameraUtil.heartbeatgetPlayFlv(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType5);
|
|
|
+ if (StringUtils.isEmpty(playFlv2)) {
|
|
|
+ try {
|
|
|
+ cameraUtil.heartbeatgetUrl(cameraManagement.getCameraCode(), cameraManagement.getGraphicsCard(), finalType5, url);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1187,16 +1340,22 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagementList1)) {
|
|
|
List<CameraVos> cameraVosList = new ArrayList<>();
|
|
|
for (BaseCameraManagement baseCameraManagement : baseCameraManagementList1) {
|
|
|
+ int index = 0;
|
|
|
+ String url;
|
|
|
+ if (index < 2) {
|
|
|
+ url = httpUrl;
|
|
|
+ index++;
|
|
|
+ } else {
|
|
|
+ url = httpUrls;
|
|
|
+ index = 0;
|
|
|
+ }
|
|
|
CameraVos cameraVos = new CameraVos();
|
|
|
cameraVos.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
- String cacheObject = redisCache.getCacheObject(baseCameraManagement.getCameraCode());
|
|
|
- cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type, cacheObject));
|
|
|
+ cameraVos.setCurrentStream(CameraUtil.getPlayFlvRtsp(baseCameraManagement.getCameraCode(), baseCameraManagement.getGraphicsCard(), type, url));
|
|
|
cameraVosList.add(cameraVos);
|
|
|
}
|
|
|
respHeartbeatVo.setCameraList(cameraVosList);
|
|
|
}
|
|
|
- twoMap.put("currentStream", playFlv);
|
|
|
- twoMap.put("cameraCode", list1.get(0).getCameraCode());
|
|
|
respHeartbeatVo.setIsAlarm(2);
|
|
|
}
|
|
|
//赋值--股道
|
|
@@ -1227,10 +1386,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
respHeartbeatVo.setRouteTrack("");
|
|
|
respHeartbeatVo.setStationCode("");
|
|
|
}
|
|
|
- twoMap.put("visualDistance", heartbeatVo.getVisualDistance().toString());
|
|
|
- String string = JSON.toJSONString(twoMap);
|
|
|
baseVideoTrainsService.save(baseVideoTrains);
|
|
|
- heartbeatUtils.createHeartbeat(Constant.HERTBEA_KEY + heartbeatVo.getTerminalCode(), string);
|
|
|
log.info("---------data---结果-------" + respHeartbeatVo);
|
|
|
if (ObjectUtils.isEmpty(respHeartbeatVo.getPreAlarmList())) {
|
|
|
if (!ObjectUtils.isEmpty(respHeartbeatVo.getCameraList())) {
|