Pārlūkot izejas kodu

添加执行相机状态修改定时任务判断

gao.qiang 2 dienas atpakaļ
vecāks
revīzija
4d21c53201

+ 2 - 2
business-service/src/main/java/com/ozs/service/utils/PublishCallback.java

@@ -66,8 +66,8 @@ public class PublishCallback implements MqttCallback {
                         model = model1.getString(0);
                     }
                 }
-                CallbackUtil.heart(deviceSn);
-                CallbackUtil.updateVersionNum(model,deviceSn);
+//                CallbackUtil.heart(deviceSn);
+//                CallbackUtil.updateVersionNum(model,deviceSn);
                 PublishClient.pull(sign, deviceSn);
             } catch (Exception e) {
                 logger.error(e.getMessage());

+ 3 - 0
hazard-admin/src/main/java/com/ozs/web/core/config/CaneraConfig.java

@@ -36,4 +36,7 @@ public class CaneraConfig {
 
     @Value("${base.recordUrl:http://183.236.39.220:8083}")
     private String recordUrl;
+
+    @Value("${base.isEnable:false}")
+    private String isEnable;
 }

+ 40 - 37
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -128,6 +128,7 @@ public class CameraUtil {
     private static RedisCache rc;
     private static ServerConfig sc;
     private static String recordUrl;
+    private static String isEnable;
 
     public final static String tsFilekey = "mergeVideoTsFile";
 
@@ -1013,6 +1014,7 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
         sc = serverConfig;
         wsUrl = caneraConfig.getWsUrl();
         recordUrl = caneraConfig.getRecordUrl();
+        isEnable=caneraConfig.getIsEnable();
     }
 
 
@@ -1088,44 +1090,45 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
      * 相机状态修改
      */
     public void cameraBlockUp() {
-        long baseTime = 60000L;
-        //当前时间戳
-        long currentTimestamp = System.currentTimeMillis();
-        //字典中设置的值
-        List<SysDictData> heartIntervalTime = dictDataMapper.selectDictDataByType("heart_interval_time");
-        List<SysDictData> triggerWarningFrequency = dictDataMapper.selectDictDataByType("trigger_warning_frequency");
-        // 计算时间间隔
-        long timeInterval = baseTime;
-        if (!ObjectUtils.isEmpty(heartIntervalTime)) {
-            timeInterval *= Long.valueOf(heartIntervalTime.get(0).getDictValue());
-        }
-        if (!ObjectUtils.isEmpty(triggerWarningFrequency)) {
-            timeInterval *= Long.valueOf(triggerWarningFrequency.get(0).getDictValue());
-        }
-        if (ObjectUtils.isEmpty(heartIntervalTime) || ObjectUtils.isEmpty(triggerWarningFrequency)) {
-            timeInterval = baseTime * 5 * 3; // 默认值
+        if (isEnable.equals("true")) {
+            long baseTime = 60000L;
+            //当前时间戳
+            long currentTimestamp = System.currentTimeMillis();
+            //字典中设置的值
+            List<SysDictData> heartIntervalTime = dictDataMapper.selectDictDataByType("heart_interval_time");
+            List<SysDictData> triggerWarningFrequency = dictDataMapper.selectDictDataByType("trigger_warning_frequency");
+            // 计算时间间隔
+            long timeInterval = baseTime;
+            if (!ObjectUtils.isEmpty(heartIntervalTime)) {
+                timeInterval *= Long.valueOf(heartIntervalTime.get(0).getDictValue());
+            }
+            if (!ObjectUtils.isEmpty(triggerWarningFrequency)) {
+                timeInterval *= Long.valueOf(triggerWarningFrequency.get(0).getDictValue());
+            }
+            if (ObjectUtils.isEmpty(heartIntervalTime) || ObjectUtils.isEmpty(triggerWarningFrequency)) {
+                timeInterval = baseTime * 5 * 3; // 默认值
+            }
+            // 计算查询的时间范围(前五分钟)
+            long startTime = currentTimestamp - timeInterval;
+            // 查询 MQ 日志
+            LambdaQueryWrapper<MqLog> mqLogQuery = new LambdaQueryWrapper<>();
+            mqLogQuery.between(MqLog::getCreateTime, new Date(startTime), new Date(currentTimestamp));
+            List<MqLog> mqLogs = mqLogService.list(mqLogQuery);
+            Set<String> loggedCameraCodes = mqLogs.stream().map(MqLog::getCameraCode).collect(Collectors.toSet());
+            // 获取所有设备
+            List<BaseDeviceDynamicManagement> devices = baseDeviceDynamicManagementService.list();
+            Set<String> allCameraCodes = devices.stream().map(BaseDeviceDynamicManagement::getCameraCode).collect(Collectors.toSet());
+            // 找出未记录日志的设备
+            Set<String> inactiveCameraCodes = new HashSet<>(allCameraCodes);
+            inactiveCameraCodes.removeAll(loggedCameraCodes);
+            // 保存设备状态变更记录
+            saveDeviceResume(loggedCameraCodes, 1);
+            saveDeviceResume(inactiveCameraCodes, 2);
+
+            // 更新设备状态
+            updateDeviceStatus(loggedCameraCodes, 1); // 启用设备
+            updateDeviceStatus(inactiveCameraCodes, 2); // 禁用设备
         }
-        // 计算查询的时间范围(前五分钟)
-        long startTime = currentTimestamp - timeInterval;
-        // 查询 MQ 日志
-        LambdaQueryWrapper<MqLog> mqLogQuery = new LambdaQueryWrapper<>();
-        mqLogQuery.between(MqLog::getCreateTime, new Date(startTime), new Date(currentTimestamp));
-        List<MqLog> mqLogs = mqLogService.list(mqLogQuery);
-        Set<String> loggedCameraCodes = mqLogs.stream().map(MqLog::getCameraCode).collect(Collectors.toSet());
-        // 获取所有设备
-        List<BaseDeviceDynamicManagement> devices = baseDeviceDynamicManagementService.list();
-        Set<String> allCameraCodes = devices.stream().map(BaseDeviceDynamicManagement::getCameraCode).collect(Collectors.toSet());
-        // 找出未记录日志的设备
-        Set<String> inactiveCameraCodes = new HashSet<>(allCameraCodes);
-        inactiveCameraCodes.removeAll(loggedCameraCodes);
-        // 保存设备状态变更记录
-        saveDeviceResume(loggedCameraCodes, 1);
-        saveDeviceResume(inactiveCameraCodes, 2);
-
-        // 更新设备状态
-        updateDeviceStatus(loggedCameraCodes, 1); // 启用设备
-        updateDeviceStatus(inactiveCameraCodes, 2); // 禁用设备
-
     }
 
     // 辅助方法:更新设备状态

+ 1 - 0
hazard-admin/src/main/resources/application.yml

@@ -26,6 +26,7 @@ base:
   defaultPassword: yn5aq5Mt.106.tky
   imgUrl: http://10.161.12.52:18801/picbucket
   recordUrl: http://183.236.39.220:8081${server.servlet.context-path}
+  isEnable: true;
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为8080