From 69962e25b95593a0138f7be2b49dd51fa76ab8d7 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 14 十月 2023 17:13:58 +0800
Subject: [PATCH] 增加大华sdk初始化环境 增加大华设备登录 增加大华ptz获取和云台控制接口 增加相机通用SDK接口

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java |  291 +--------------------------------------------------------
 1 files changed, 7 insertions(+), 284 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
index 291f326..675ff00 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
@@ -1,26 +1,10 @@
 package com.ruoyi.quartz.task;
 
-import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
-import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.device.camera.domain.ArdCameras;
-import com.ruoyi.device.camera.domain.CameraCmd;
-import com.ruoyi.device.camera.service.IArdCamerasService;
-import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
-import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
-import com.ruoyi.inspect.domain.ArdVideoInspectTask;
-import com.ruoyi.inspect.domain.ArdVideoInspectTaskStep;
-import com.ruoyi.inspect.service.IArdVideoInspectRecordService;
 import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
-
 import javax.annotation.Resource;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.*;
+
 
 /**
  * @Description: 宸℃浠诲姟
@@ -30,278 +14,17 @@
  * @Version: 1.0
  **/
 @Component("PatrolInspectionTask")
-@Slf4j(topic = "PatrolInspectionTask")
 public class PatrolInspectionTask {
 
     @Resource
     IArdVideoInspectTaskService ardVideoInspectTaskService;
 
-    //宸℃浠诲姟
+    /**
+     * 瀹氭椂宸℃浠诲姟
+     * 鍒樿嫃涔�
+     * 2023/8/9 9:18:42
+     */
     public void scanRun() {
-        ardVideoInspectTaskService.taskRun();
+      ardVideoInspectTaskService.autoTaskRun();
     }
-
-    //鑷姩宸℃浠诲姟
-//    public void scanRun() {
-//        /*鎵弿鎵�鏈夊彲鎵ц浠诲姟1-鏃堕棿婊¤冻2-鑷姩*/
-//        ArdVideoInspectTask ardVideoInspectTask = new ArdVideoInspectTask();
-//        ardVideoInspectTask.setInspectMode("鑷姩");
-//        List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
-//        for (ArdVideoInspectTask videoInspectTask : ardVideoInspectTasks) {
-//            /*閬嶅巻鎵�鏈夋椂闂存弧瓒崇殑鑷姩浠诲姟*/
-//            boolean timeCompare = DateUtils.TimeCompare(videoInspectTask.getStartTime(), videoInspectTask.getEndTime());
-//            if (timeCompare) {
-//                /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/
-//                List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskService.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList();
-//                if (ardVideoInspectTaskStepList.size() == 0) {
-//                    continue;
-//                }
-//                videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
-//                String currentStepId = videoInspectTask.getCurrentStepId();
-//                if (StringUtils.isNull(currentStepId)) {
-//                    videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId());
-//                    startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠�
-//                } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ {
-//                    if (StringUtils.isNull(videoInspectTask.getCurrentStepStartTime())) {
-//                        //褰撳墠浠诲姟鍚姩鏃堕棿涓簄ull锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ
-//                        startRunStep(videoInspectTask);
-//                    } else {
-//                        boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-//                        if (expird) {
-//                            //鍋滄褰曞儚
-//                            stopRunStep(videoInspectTask);
-//                            //鍒囨崲姝ラ
-//                            String nextStepId = changeNextStep(videoInspectTask);
-//                            //寮�濮嬩笅涓�姝ラ
-//                            videoInspectTask.setCurrentStepId(nextStepId);
-//                            startRunStep(videoInspectTask);
-//                        }
-//                    }
-//                }
-//            }
-//        }
-//    }
-
-//    //鎵嬪姩宸℃浠诲姟
-//    public void ManualTaskRun(String taskId) {
-//        Timer timer = new Timer();
-//        // 5s鍚庢墽琛�
-//        // timer.schedule(new MyTask(), 5000);
-//        // 椹笂鎵ц浠诲姟,姣忛殧2000鎵ц涓�娆�
-//        timerTask = new TimerTask() {
-//            @Override
-//            public void run() {
-//                ArdVideoInspectTask videoInspectTask = ardVideoInspectTaskService.selectArdVideoInspectTaskById(taskId);
-//                /*鑾峰彇褰撳墠浠诲姟鐨勬墍鏈夊贰妫�姝ラ*/
-//                List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTaskService.selectArdVideoInspectTaskById(videoInspectTask.getId()).getArdVideoInspectTaskStepList();
-//                if (ardVideoInspectTaskStepList.size() == 0) {
-//                    log.error("褰撳墠浠诲姟娌℃湁鍙戠幇鎵ц姝ラ");
-//                    return;
-//                }
-//                videoInspectTask.setArdVideoInspectTaskStepList(ardVideoInspectTaskStepList);
-//                String currentStepId = videoInspectTask.getCurrentStepId();
-//                if (StringUtils.isNull(currentStepId)) {
-//                    videoInspectTask.setCurrentStepId(ardVideoInspectTaskStepList.get(0).getId());
-//                    startRunStep(videoInspectTask);//寮�濮嬪綋鍓嶄换鍔$殑绗竴涓楠�
-//                } else /*褰撳墠浠诲姟宸茬粡鎵ц锛屽垽鏂槸鍚﹀埌鏈�*/ {
-//                    if (StringUtils.isNull(videoInspectTask.getCurrentStepStartTime())) {
-//                        //褰撳墠浠诲姟鍚姩鏃堕棿涓簄ull锛屽垯璇存槑褰撳墠姝ラ琚腑鏂紝鐩存帴鍚姩褰撳墠姝ラ
-//                        startRunStep(videoInspectTask);
-//                    } else {
-//                        boolean expird = isExpirdStep(videoInspectTask); /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-//                        if (expird) {
-//                            //鍋滄褰曞儚
-//                            stopRunStep(videoInspectTask);
-//                            //鍒囨崲姝ラ
-//                            String nextStepId = changeNextStep(videoInspectTask);
-//                            //寮�濮嬩笅涓�姝ラ
-//                            videoInspectTask.setCurrentStepId(nextStepId);
-//                            startRunStep(videoInspectTask);
-//                        }
-//                    }
-//                }
-//            }
-//        };
-//        timer.scheduleAtFixedRate(timerTask, new Date(), 2000);
-//    }
-//
-//    //姝ラ寮�濮�
-//    private void startRunStep(ArdVideoInspectTask ardVideoInspectTask) {
-//        try {
-//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
-//            if (StringUtils.isNull(currentStepId)) {
-//                log.info("褰撳墠寮�濮嬪贰妫�姝ラid涓虹┖");
-//                return;
-//            }
-//            log.info("姝ラ锛�" + currentStepId + "寮�濮�");
-//            String cameraId = ardVideoInspectTask.getCameraId();
-//            Integer channel = ardVideoInspectTask.getChannel();
-//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-//                    .filter(obj -> obj.getId().equals(currentStepId))
-//                    .findFirst();
-//            if (objectOptional.isPresent()) {
-//                ArdVideoInspectTaskStep step = objectOptional.get();
-//                String wellId = step.getWellId();
-//                if (!StringUtils.isNull(wellId)) {
-//                    /*鑾峰彇浜曞潗鏍�*/
-//                    ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellService.selectArdAlarmpointsWellById(wellId);
-//                    double[] targetPositon = new double[3];
-//                    targetPositon[0] = ardAlarmpointsWell.getLongitude();
-//                    targetPositon[1] = ardAlarmpointsWell.getLatitude();
-//                    targetPositon[2] = ardAlarmpointsWell.getAltitude();
-//                    /*鑾峰彇鐩告満鍧愭爣*/
-//                    ArdCameras cameras = ardCamerasService.selectArdCamerasById(cameraId);
-//                    double[] cameraPositon = new double[3];
-//                    cameraPositon[0] = cameras.getLongitude();
-//                    cameraPositon[1] = cameras.getLatitude();
-//                    cameraPositon[2] = cameras.getAltitude();
-//                    /*鎺у埗鐩告満宸℃*/
-//                    CameraCmd cmd = new CameraCmd();
-//                    cmd.setCameraId(cameraId);
-//                    cmd.setChannelNum(channel);
-//                    cmd.setCamPosition(cameraPositon);
-//                    cmd.setTargetPosition(targetPositon);
-//                    cmd.setOperator("sys_patrol_inspect");
-//                    cmd.setExpired(step.getRecordingTime());
-//                    boolean setTargetPosition = hikClientService.setTargetPosition(cmd);
-//                    if (setTargetPosition) {
-//                        /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/
-//                        cmd.setEnable(true);//鍚姩褰曞儚
-//                        hikClientService.recordToMinio(cmd);
-//                        /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/
-//                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
-//                        avit.setId(ardVideoInspectTask.getId());
-//                        avit.setCurrentStepId(step.getId());
-//                        avit.setCurrentStepStartTime(DateUtils.getTime());
-//                        ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-//                    } else {
-//                        cmd.setEnable(false);//鍋滄褰曞儚
-//                        hikClientService.recordToMinio(cmd);
-//                        /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/
-//                        ArdVideoInspectTask avit = new ArdVideoInspectTask();
-//                        avit.setId(ardVideoInspectTask.getId());
-//                        avit.setCurrentStepId(step.getId());
-//                        avit.setCurrentStepStartTime(null);
-//                        ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-//                    }
-//                }
-//            }
-//        } catch (Exception ex) {
-//            log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage());
-//        }
-//    }
-//
-//    //姝ラ鍋滄
-//    private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) {
-//        try {
-//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
-//            log.info("姝ラ锛�" + currentStepId + "鍋滄");
-//            if (StringUtils.isNull(currentStepId)) {
-//                log.info("褰撳墠鍋滄宸℃姝ラid涓虹┖");
-//                return;
-//            }
-//            String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
-//            String cameraId = ardVideoInspectTask.getCameraId();
-//            Integer channel = ardVideoInspectTask.getChannel();
-//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-//                    .filter(obj -> obj.getId().equals(currentStepId))
-//                    .findFirst();
-//            if (objectOptional.isPresent()) {
-//                ArdVideoInspectTaskStep step = objectOptional.get();
-//                /*鍋滄褰曞儚*/
-//                CameraCmd cmd = new CameraCmd();
-//                cmd.setCameraId(cameraId);
-//                cmd.setChannelNum(channel);
-//                cmd.setOperator("sys_patrol_inspect");
-//                cmd.setEnable(false);//鍋滄褰曞儚
-//                String uuid = UUID.randomUUID().toString().replace("-", "");
-//                String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
-//                String recordName = cameraId + "/" + time + "/" + uuid + ".mp4";
-//                cmd.setRecordBucketName("record");
-//                cmd.setRecordObjectName(recordName);
-//                hikClientService.recordToMinio(cmd);
-//                /*鎻掑叆宸℃璁板綍*/
-//                ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord();
-//                ardVideoInspectRecord.setStepId(step.getId());
-//                Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
-//                Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, step.getRecordingTime());
-//                ardVideoInspectRecord.setStartTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartDate));
-//                ardVideoInspectRecord.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStopDate));
-//                String url = MinioClientSingleton.domainUrl + "/" + cmd.getRecordBucketName() + "/" + recordName;
-//                ardVideoInspectRecord.setRecordFilePath(url);
-//                ardVideoInspectRecordService.insertArdVideoInspectRecord(ardVideoInspectRecord);
-//            }
-//        } catch (Exception ex) {
-//            log.error("宸℃鍋滄寮傚父:" + ex.getMessage());
-//        }
-//    }
-//
-//    //姝ラ鍒ゆ柇鏄惁杩囨湡
-//    private boolean isExpirdStep(ArdVideoInspectTask ardVideoInspectTask) {
-//        try {
-//            List<ArdVideoInspectTaskStep> ardVideoInspectTaskStepList = ardVideoInspectTask.getArdVideoInspectTaskStepList();
-//            /*鑾峰彇褰撳墠浠诲姟姝e湪鎵ц鐨勬楠ゅ拰褰撳墠姝ラ寮�濮嬬殑鏃堕棿*/
-//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
-//            String currentStepStartTime = ardVideoInspectTask.getCurrentStepStartTime();
-//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTaskStepList.stream()
-//                    .filter(ardVideoInspectTaskStep -> ardVideoInspectTaskStep.getId().equals(currentStepId))
-//                    .findFirst();
-//            if (objectOptional.isPresent()) {
-//                /*鑾峰彇褰撳墠姝ラ淇℃伅*/
-//                ArdVideoInspectTaskStep currentStep = objectOptional.get();
-//                /*鑾峰彇鍒板綋鍓嶆楠ょ殑寮�濮嬪拰缁撴潫鏃堕棿*/
-//                Date currentStepStartDate = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, currentStepStartTime);
-//                Date currentStepStopDate = DateUtils.addMinutes(currentStepStartDate, currentStep.getRecordingTime());
-//                /*鍒ゆ柇褰撳墠姝ラ鏃堕棿鏄惁杩囨湡*/
-//                if (!DateUtils.TimeCompare(currentStepStartDate, currentStepStopDate)) {
-//                    return true;
-//                } else {
-//                    return false;
-//                }
-//            } else {
-//                return false;
-//            }
-//        } catch (Exception ex) {
-//            log.error("鍒ゆ柇宸℃姝ラ杩囨湡寮傚父锛�" + ex.getMessage());
-//            return false;
-//        }
-//    }
-//
-//    //姝ラ鍒囨崲
-//    private String changeNextStep(ArdVideoInspectTask ardVideoInspectTask) {
-//        try {
-//            String currentStepId = ardVideoInspectTask.getCurrentStepId();
-//            Optional<ArdVideoInspectTaskStep> objectOptional = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-//                    .filter(obj -> obj.getId().equals(currentStepId))
-//                    .findFirst();
-//            if (objectOptional.isPresent()) {
-//                ArdVideoInspectTaskStep step = objectOptional.get();
-//                Integer currentStepOrderNumber = step.getOrderNumber();
-//                /*鍒ゆ柇褰撳墠姝ラ搴忓彿鏄惁灏忎簬姝ラ鎬绘暟*/
-//                if (currentStepOrderNumber < ardVideoInspectTask.getArdVideoInspectTaskStepList().size()) {
-//                    /*灏忎簬鍒欐墽琛屼笅涓�姝ラ*/
-//                    currentStepOrderNumber++;
-//                } else {
-//                    /*鍚﹀垯浠�1寮�濮嬫墽琛�*/
-//                    currentStepOrderNumber = 1;
-//                }
-//                Integer nextStepOrderNumber = currentStepOrderNumber;
-//                /*鏇存柊褰撳墠浠诲姟鍒囨崲鏂版楠�*/
-//                ArdVideoInspectTask avit = new ArdVideoInspectTask();
-//                avit.setId(ardVideoInspectTask.getId());
-//                String nextStepId = ardVideoInspectTask.getArdVideoInspectTaskStepList().stream()
-//                        .filter(obj -> obj.getOrderNumber() == nextStepOrderNumber)
-//                        .map(ArdVideoInspectTaskStep::getId)
-//                        .findFirst()
-//                        .orElse(null);
-//                avit.setCurrentStepId(nextStepId);
-//                ardVideoInspectTaskService.updateArdVideoInspectTaskNoUpdater(avit);
-//                log.info("姝ラ锛�" + currentStepId + "鍒囨崲涓�" + nextStepId);
-//                return nextStepId;
-//            }
-//        } catch (Exception ex) {
-//            log.error("宸℃姝ラ鍒囨崲寮傚父锛�" + ex.getMessage());
-//        }
-//        return "";
-//    }
 }

--
Gitblit v1.9.3