ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java
@@ -40,4 +40,6 @@ String recordBucketName; /*录像文件名称*/ String recordObjectName; /*是否上传minio*/ boolean isUploadMinio; } ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -1360,6 +1360,7 @@ } hCNetSDK.NET_DVR_StopRealPlay(info.getLRealHandle()); log.info("录像停止"); if(cmd.isUploadMinio()) { //存入minio String BucketName = cmd.getRecordBucketName(); String ObjectName = cmd.getRecordObjectName(); @@ -1371,6 +1372,7 @@ GlobalVariable.user_real_Map.remove(userId); } } } } catch (Exception ex) { log.error("录像异常" + ex.getMessage()); } ard-work/src/main/java/com/ruoyi/inspect/controller/TaskController.java
@@ -1,9 +1,7 @@ package com.ruoyi.inspect.controller; import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; import com.ruoyi.inspect.service.impl.InspectionTaskManager; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -13,12 +11,10 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; import java.util.Set; /** * @Description: 巡检任务 * @Description: 巡检任务controller * @ClassName: TaskController * @Author: 刘苏义 * @Date: 2023年06月01日9:19 ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -21,6 +21,8 @@ import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper; import com.ruoyi.inspect.domain.ArdVideoInspectTask; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; import javax.annotation.PostConstruct; import javax.annotation.Resource; /** @@ -43,6 +45,20 @@ @Resource private IHikClientService hikClientService; @PostConstruct public void initTask() { List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(new ArdVideoInspectTask()); /*启动后将所有手动任务置为关闭*/ for(ArdVideoInspectTask ardVideoInspectTask:ardVideoInspectTasks) { if(ardVideoInspectTask.getInspectMode().equals("手动")) { ardVideoInspectTask.setMenualSwitch("关"); ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } } } /** * 查询视频巡检任务 * @@ -93,8 +109,7 @@ public int updateArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask) { ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername()); ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate()); ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId()) ; ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId()); insertArdVideoInspectTaskStep(ardVideoInspectTask); return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } @@ -334,6 +349,7 @@ ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit); } else { cmd.setEnable(false);//停止录像 cmd.setUploadMinio(true); hikClientService.recordToMinio(cmd); /*控制失败,当前步骤启动时间置null*/ ArdVideoInspectTask avit = new ArdVideoInspectTask(); @@ -377,6 +393,7 @@ String recordName = cameraId + "/" + time + "/" + uuid + ".mp4"; cmd.setRecordBucketName("record"); cmd.setRecordObjectName(recordName); cmd.setUploadMinio(true); hikClientService.recordToMinio(cmd); /*插入巡检记录*/ ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord(); ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTask.java
@@ -1,37 +1,12 @@ package com.ruoyi.inspect.service.impl; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; 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.mapper.ArdVideoInspectRecordMapper; import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper; import com.ruoyi.inspect.service.IArdVideoInspectTaskService; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.thymeleaf.spring5.context.SpringContextUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Optional; import java.util.UUID; import com.ruoyi.common.utils.spring.SpringUtils; import lombok.extern.slf4j.Slf4j; /** * @Description: * @Description: 巡检任务类 * @ClassName: InspectionTaskImpl * @Author: 刘苏义 * @Date: 2023年06月01日8:57 @@ -63,13 +38,13 @@ while (isRunning) { // 巡检任务的具体逻辑 log.debug("巡检任务执行中:" + taskId); ArdVideoInspectTaskServiceImpl ardVideoInspectTaskService = SpringUtils.getBean(ArdVideoInspectTaskServiceImpl.class); ardVideoInspectTaskService.manualTaskRun(taskId); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } ArdVideoInspectTaskServiceImpl ardVideoInspectTaskService = SpringUtils.getBean(ArdVideoInspectTaskServiceImpl.class); ardVideoInspectTaskService.manualTaskRun(taskId); } } ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java
@@ -74,6 +74,7 @@ cmd.setCameraId(ardVideoInspectTask.getCameraId()); cmd.setChannelNum(ardVideoInspectTask.getChannel()); cmd.setEnable(false);//停止录像 cmd.setUploadMinio(false); hikClientService.recordToMinio(cmd); } InspectionTask task = taskMap.get(taskId);