|
@@ -375,42 +375,53 @@ public class GeoHazardMonitorTokenController {
|
|
|
String result = HttpClientUtil.postJson(sdkUrl, JSON.toJSONString(msgAlarm));
|
|
|
log.info("->>>>>>>>>>>>>>>>>>>>>>>>>>>>" + result);
|
|
|
log.info("result:{}", result);
|
|
|
- if (!ObjectUtils.isEmpty(baseCameraManagementList)) {
|
|
|
-// int minDifference = Integer.MAX_VALUE;
|
|
|
-// String code = null;
|
|
|
-// for (BaseCameraManagement baseCameraManagement : baseCameraManagementList) {
|
|
|
-// int difference = Math.abs(baseCameraManagement.getInstallMile() - reqMsgAlarmVo.getAlarmMile());
|
|
|
-// if (difference < minDifference) {
|
|
|
-// minDifference = difference;
|
|
|
-// code = baseCameraManagement.getCameraCode();
|
|
|
-// }
|
|
|
-// }
|
|
|
-// List<SysDictData> frontValue = dictTypeService.selectDictDataByType("alarm_play_time_front_value");
|
|
|
-// List<SysDictData> laterValue = dictTypeService.selectDictDataByType("alarm_play_time_later_value");
|
|
|
-// String finalCode = code;
|
|
|
-// log.info("frontValue.get(0)-----11-------->" + frontValue.get(0).getDictValue());
|
|
|
-// log.info("frontValue.get(0)-------22------>" + laterValue.get(0).getDictValue());
|
|
|
-// CompletableFuture.runAsync(() -> {
|
|
|
-// cameraUtil.playbackURLs(finalCode, frontValue.get(0).getDictValue(), laterValue.get(0).getDictValue());
|
|
|
-// String codes = HttpUtils.sendGet(CameraUtil.startRecording(finalCode, "playback"));
|
|
|
-// log.info("codes------>" + codes);
|
|
|
-// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
-// // 使用SimpleDateFormat将Date对象格式化为指定样式的字符串
|
|
|
-// String formattedDate = sdf.format(msgAlarmVice.getAlarmTime());
|
|
|
-// log.info("-----formattedDate-----------" + formattedDate);
|
|
|
-// String records = cameraUtil.getQueryRecords(finalCode + "/playback", formattedDate, "mp4", laterValue.get(0).getDictValue(), frontValue.get(0).getDictValue());
|
|
|
-// log.info("-----records-----------" + records);
|
|
|
-// MsgAlarm alarm1 = msgAlarmService.getById(msgAlarm.getId());
|
|
|
-// alarm1.setReleasedUrl(records);
|
|
|
-// msgAlarmService.updateById(alarm1);
|
|
|
-// });
|
|
|
-// String url = future.get();
|
|
|
-// if (url.contains("无视频")) {
|
|
|
-// jsonObject.put("resultCode", 0);
|
|
|
-// jsonObject.put("message", url);
|
|
|
-// return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
|
|
|
-// }else {
|
|
|
-// }
|
|
|
+
|
|
|
+ // 获取当前时间的前5分钟
|
|
|
+ List<SysDictData> alarmTime = dictTypeService.selectDictDataByType("alarm_time");
|
|
|
+
|
|
|
+ Date fiveMinutesAgo;
|
|
|
+ if (ObjectUtils.isEmpty(alarmTime)){
|
|
|
+ fiveMinutesAgo = Date.from(Instant.now().minus(Long.valueOf("5"), ChronoUnit.MINUTES));
|
|
|
+ }else {
|
|
|
+ fiveMinutesAgo = Date.from(Instant.now().minus(Long.valueOf(alarmTime.get(0).getDictValue()), ChronoUnit.MINUTES));
|
|
|
+ }
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String formatted = format.format(fiveMinutesAgo);
|
|
|
+ LambdaQueryWrapper<MsgAlarm> wrapper1 = new LambdaQueryWrapper<MsgAlarm>();
|
|
|
+ wrapper1.eq(MsgAlarm::getAlarmMile, alarm.getAlarmMile());
|
|
|
+ wrapper1.ge(MsgAlarm::getAlarmTime, formatted);
|
|
|
+ List<MsgAlarm> list = msgAlarmService.list(lw);
|
|
|
+ if (list.size() < 0) {
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementList)) {
|
|
|
+ int minDifference = Integer.MAX_VALUE;
|
|
|
+ String code = null;
|
|
|
+ for (BaseCameraManagement baseCameraManagement : baseCameraManagementList) {
|
|
|
+ int difference = Math.abs(baseCameraManagement.getInstallMile() - reqMsgAlarmVo.getAlarmMile());
|
|
|
+ if (difference < minDifference) {
|
|
|
+ minDifference = difference;
|
|
|
+ code = baseCameraManagement.getCameraCode();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<SysDictData> frontValue = dictTypeService.selectDictDataByType("alarm_play_time_front_value");
|
|
|
+ List<SysDictData> laterValue = dictTypeService.selectDictDataByType("alarm_play_time_later_value");
|
|
|
+ String finalCode = code;
|
|
|
+ log.info("frontValue.get(0)-----11-------->" + frontValue.get(0).getDictValue());
|
|
|
+ log.info("frontValue.get(0)-------22------>" + laterValue.get(0).getDictValue());
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ cameraUtil.playbackURLs(finalCode, frontValue.get(0).getDictValue(), laterValue.get(0).getDictValue());
|
|
|
+ String codes = HttpUtils.sendGet(CameraUtil.startRecording(finalCode, "playback"));
|
|
|
+ log.info("codes------>" + codes);
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ // 使用SimpleDateFormat将Date对象格式化为指定样式的字符串
|
|
|
+ String formattedDate = sdf.format(msgAlarmVice.getAlarmTime());
|
|
|
+ log.info("-----formattedDate-----------" + formattedDate);
|
|
|
+ String records = cameraUtil.getQueryRecords(finalCode + "/playback", formattedDate, "mp4", laterValue.get(0).getDictValue(), frontValue.get(0).getDictValue());
|
|
|
+ log.info("-----records-----------" + records);
|
|
|
+ MsgAlarm alarm1 = msgAlarmService.getById(msgAlarm.getId());
|
|
|
+ alarm1.setReleasedUrl(records);
|
|
|
+ msgAlarmService.updateById(alarm1);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
BeanUtils.copyProperties(reqMsgAlarmVo, msgAlarmVice);
|
|
@@ -2776,7 +2787,16 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (!ObjectUtils.isEmpty(baseTerminalLog.getTrainNum()) && !ObjectUtils.isEmpty(baseTerminalLog.getFrontTrainNum())) {
|
|
|
VehiclePosition vehiclePosition = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>().eq(VehiclePosition::getVehicleCode, baseTerminalLog.getTrainNum()).orderByDesc(VehiclePosition::getCreateTime).last("limit 1"));
|
|
|
// 获取当前时间的前5分钟
|
|
|
- Date fiveMinutesAgo = Date.from(Instant.now().minus(5, ChronoUnit.MINUTES));
|
|
|
+ List<SysDictData> frontValue = dictTypeService.selectDictDataByType("distance_time");
|
|
|
+ Date fiveMinutesAgo;
|
|
|
+ if (ObjectUtils.isEmpty(frontValue)){
|
|
|
+ fiveMinutesAgo = Date.from(Instant.now().minus(Long.valueOf("5"), ChronoUnit.MINUTES));
|
|
|
+ }else {
|
|
|
+ fiveMinutesAgo = Date.from(Instant.now().minus(Long.valueOf(frontValue.get(0).getDictValue()), ChronoUnit.MINUTES));
|
|
|
+ }
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String formattedDate = sdf.format(fiveMinutesAgo);
|
|
|
+ log.info("fiveMinutesAgo:{}", fiveMinutesAgo);
|
|
|
VehiclePosition positionServiceOne = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>()
|
|
|
.eq(VehiclePosition::getVehicleCode, baseTerminalLog.getFrontTrainNum())
|
|
|
.eq(VehiclePosition::getLineDir, vehiclePosition.getLineDir())
|