|
@@ -77,6 +77,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.io.IOException;
|
|
|
+import java.lang.reflect.Type;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
@@ -473,7 +474,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
Map<String, Object> twoMap = new HashMap<>();
|
|
|
int distance = 0;
|
|
|
- int type = 0;
|
|
|
+ boolean type = true;
|
|
|
RespHeartbeatVo respHeartbeatVo = new RespHeartbeatVo();
|
|
|
String token = apiTokenUtils.getGeoHazardMonitorToken(request);
|
|
|
log.info("token:{}", token);
|
|
@@ -550,10 +551,8 @@ public class GeoHazardMonitorTokenController {
|
|
|
jsonObject.put("data", "关联表中没有改终端编码的信息");
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
}
|
|
|
- if (heartbeatVo.getSignalStrength() == 1) {
|
|
|
- type = 0;
|
|
|
- } else if (heartbeatVo.getSignalStrength() == 2) {
|
|
|
- type = 1;
|
|
|
+ if (heartbeatVo.getSignalStrength() == 2) {
|
|
|
+ type=false;
|
|
|
}
|
|
|
vehiclePosition.setTravelMile(heartbeatVo.getCurrentMile());
|
|
|
vehiclePosition.setVehicleCode(baseTerminal.getVehicleCode());
|
|
@@ -625,7 +624,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
camera.ge(BaseCameraManagement::getEndMile, list.get(0).getAlarmMile());
|
|
|
camera.le(BaseCameraManagement::getBeginMile, list.get(0).getAlarmMile());
|
|
|
camera.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
-// camera.eq(BaseCameraManagement::getOnline,2);
|
|
|
+ camera.eq(BaseCameraManagement::getOnline,2);
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
|
camera.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
} else if (heartbeatVo.getLineDir() == 2) {
|
|
@@ -637,7 +636,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
List<AlarmListVo> listVos = new ArrayList<>();
|
|
|
if (baseCameraManagementList.size() > 0) {
|
|
|
//判断流媒体是否有流
|
|
|
- String playFlv = cameraUtil.heartbeatgetUrl(baseCameraManagementList.get(0).getCameraCode(), baseCameraManagementList.get(0).getChannel());
|
|
|
+ String playFlv = cameraUtil.heartbeatgetUrl(baseCameraManagementList.get(0).getCameraCode(), baseCameraManagementList.get(0).getChannel(),type);
|
|
|
respHeartbeatVo.setCurrentStream(playFlv);
|
|
|
respHeartbeatVo.setIsAlarm(1);
|
|
|
respHeartbeatVo.setCameraCode(baseCameraManagementList.get(0).getCameraCode());
|
|
@@ -682,7 +681,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
ment.ge(BaseCameraManagement::getEndMile, list.get(i).getAlarmMile());
|
|
|
ment.le(BaseCameraManagement::getBeginMile, list.get(i).getAlarmMile());
|
|
|
ment.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
- ment.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ ment.eq(BaseCameraManagement::getOnline,2);
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
|
ment.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
} else if (heartbeatVo.getLineDir() == 2) {
|
|
@@ -697,7 +696,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (baseList.size() > 0) {
|
|
|
for (int o = 0; o < baseList.size(); o++) {
|
|
|
//判断流媒体是否有流
|
|
|
- String playFlv = cameraUtil.heartbeatgetUrl(baseList.get(o).getCameraCode(), baseList.get(o).getChannel());
|
|
|
+ String playFlv = cameraUtil.heartbeatgetUrl(baseList.get(o).getCameraCode(), baseList.get(o).getChannel(),type);
|
|
|
AlarmListVo alarmListVo = new AlarmListVo();
|
|
|
//alarmList对象
|
|
|
alarmListVo.setCameraStream(playFlv);
|
|
@@ -740,11 +739,11 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
base.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
- base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
- base.last("limit 3");
|
|
|
+ base.eq(BaseCameraManagement::getOnline,2);
|
|
|
+ base.last("limit 2");
|
|
|
List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(),type);
|
|
|
}
|
|
|
} else {
|
|
|
//没有报警信息的时候
|
|
@@ -752,18 +751,15 @@ public class GeoHazardMonitorTokenController {
|
|
|
LambdaQueryWrapper<BaseCameraManagement> base = new LambdaQueryWrapper<>();
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
|
base.gt(BaseCameraManagement::getInstallMile, distance);
|
|
|
+ base.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
}
|
|
|
if (heartbeatVo.getLineDir() == 2) {
|
|
|
base.lt(BaseCameraManagement::getInstallMile, distance);
|
|
|
- }
|
|
|
- if (heartbeatVo.getLineDir() == 1) {
|
|
|
- base.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
- } else if (heartbeatVo.getLineDir() == 2) {
|
|
|
base.in(BaseCameraManagement::getMonitoringDirection, 2, 3);
|
|
|
}
|
|
|
base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
base.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
- base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ base.eq(BaseCameraManagement::getOnline,2);
|
|
|
base.last("limit 2");
|
|
|
List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
if (list1.size() <= 0) {
|
|
@@ -774,14 +770,15 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
log.info("流程1----------------->");
|
|
|
//判断流媒体是否有流
|
|
|
- String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel());
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel(),type);
|
|
|
log.info("playFlv------------>" + playFlv);
|
|
|
//拉四路视频
|
|
|
if (StringUtils.isEmpty(playFlv)) {
|
|
|
log.info("--------------->>已进入拉四路视频");
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ boolean finalType = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType);
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
@@ -789,8 +786,9 @@ public class GeoHazardMonitorTokenController {
|
|
|
list1.remove(0);
|
|
|
log.info("list1-------------->>" + list1.size());
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ boolean finalType1 = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType1);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -808,18 +806,15 @@ public class GeoHazardMonitorTokenController {
|
|
|
LambdaQueryWrapper<BaseCameraManagement> base = new LambdaQueryWrapper<>();
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
|
base.gt(BaseCameraManagement::getInstallMile, distance);
|
|
|
+ base.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
}
|
|
|
if (heartbeatVo.getLineDir() == 2) {
|
|
|
base.lt(BaseCameraManagement::getInstallMile, distance);
|
|
|
- }
|
|
|
- if (heartbeatVo.getLineDir() == 1) {
|
|
|
- base.in(BaseCameraManagement::getMonitoringDirection, 1, 3);
|
|
|
- } else if (heartbeatVo.getLineDir() == 2) {
|
|
|
base.in(BaseCameraManagement::getMonitoringDirection, 2, 3);
|
|
|
}
|
|
|
base.eq(BaseCameraManagement::getRailwayCode, heartbeatVo.getRailwayCode());
|
|
|
base.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
- base.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ base.eq(BaseCameraManagement::getOnline,2);
|
|
|
base.last("limit 2");
|
|
|
List<BaseCameraManagement> list1 = baseCameraManagementService.list(base);
|
|
|
if (list1.size() <= 0) {
|
|
@@ -830,14 +825,15 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
log.info("流程2----------------->");
|
|
|
//判断流媒体是否有流
|
|
|
- String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel());
|
|
|
+ String playFlv = cameraUtil.heartbeatgetPlayFlv(list1.get(0).getCameraCode(), list1.get(0).getChannel(),type);
|
|
|
log.info("playFlv------------>" + playFlv);
|
|
|
//拉四路视频
|
|
|
if (StringUtils.isEmpty(playFlv)) {
|
|
|
log.info("--------------->>已进入拉四路视频");
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ boolean finalType2 = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType2);
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
@@ -845,8 +841,9 @@ public class GeoHazardMonitorTokenController {
|
|
|
list1.remove(0);
|
|
|
log.info("list1-------------->>" + list1.size());
|
|
|
for (BaseCameraManagement baseCameraManagement : list1) {
|
|
|
+ boolean finalType3 = type;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
- cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel());
|
|
|
+ cameraUtil.heartbeatgetUrl(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel(), finalType3);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -1074,7 +1071,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
lw.eq(BaseCameraManagement::getCameraCode, cameraPlayVo.getCameraCode());
|
|
|
- lw.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ lw.eq(BaseCameraManagement::getOnline, 2);
|
|
|
BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
if (ObjectUtils.isEmpty(one)) {
|
|
|
jsonObject.put("resultCode", 0);
|
|
@@ -1082,7 +1079,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
jsonObject.put("data", "没有该相机编码的相机或已离线");
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
}
|
|
|
- String playFlv = cameraUtil.heartbeatgetUrl(one.getCameraCode(), one.getChannel());
|
|
|
+ String playFlv = cameraUtil.heartbeatgetUrl(one.getCameraCode(), one.getChannel(),false);
|
|
|
map.put("url", playFlv);
|
|
|
jsonObject.put("resultCode", 1);
|
|
|
jsonObject.put("message", "ok");
|
|
@@ -1122,7 +1119,6 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
lw.eq(BaseCameraManagement::getCameraCode, cameraPlayVo.getCameraCode());
|
|
|
- lw.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
lw.eq(BaseCameraManagement::getOnline, 2);
|
|
|
BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
if (ObjectUtils.isEmpty(one)) {
|
|
@@ -1271,7 +1267,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
camera.ge(BaseCameraManagement::getEndMile, one.getAlarmMile());
|
|
|
camera.eq(BaseCameraManagement::getLineDir, one.getLineDir());
|
|
|
camera.orderByAsc(BaseCameraManagement::getInstallMile);
|
|
|
- camera.eq(BaseCameraManagement::getEnableOrNot, 1);
|
|
|
+ camera.eq(BaseCameraManagement::getOnline, 2);
|
|
|
List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.list(camera);
|
|
|
if (baseCameraManagementList.size() > 0) {
|
|
|
BaseCameraManagement baseCameraManagement = baseCameraManagementList.get(0);
|