瀏覽代碼

车载心跳监测接口定义修改

gao.qiang 3 周之前
父節點
當前提交
8c8642601a
共有 1 個文件被更改,包括 57 次插入37 次删除
  1. 57 37
      vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

+ 57 - 37
vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -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())