| | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: |
| | | * @Description: 巡检任务管理 |
| | | * @ClassName: InspectionTaskManager |
| | | * @Author: 刘苏义 |
| | | * @Date: 2023年06月01日10:40 |
| | |
| | | @Resource |
| | | private IHikClientService hikClientService; |
| | | |
| | | public static Map<String, InspectionTask> taskMap; |
| | | public static Map<String, InspectionTask> taskMap;//已启动任务map |
| | | |
| | | public InspectionTaskManager() { |
| | | taskMap = new HashMap<>(); |
| | |
| | | return taskMap; |
| | | } |
| | | |
| | | /*启动任务*/ |
| | | public void startInspectionTask(String taskId) { |
| | | if(taskMap.containsKey(taskId)) |
| | | { |
| | | log.info("巡检任务已启动:" + taskId); |
| | | return; |
| | | } |
| | | /*每次启动任务清空任务当前步骤信息*/ |
| | | ArdVideoInspectTask ardVideoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(taskId); |
| | | ardVideoInspectTask.setCurrentStepId(""); |
| | | ardVideoInspectTask.setCurrentStepStartTime(""); |
| | |
| | | InspectionTask task = new InspectionTask(taskId); |
| | | task.start(); |
| | | taskMap.put(taskId, task); |
| | | log.info("巡检任务已启动:" + taskId); |
| | | log.info("巡检任务启动:" + taskId); |
| | | } |
| | | |
| | | /*停止任务*/ |
| | | public void stopInspectionTask(String taskId) { |
| | | /*将任务步骤信息清空*/ |
| | | ArdVideoInspectTask ardVideoInspectTask = ardVideoInspectTaskMapper.selectArdVideoInspectTaskById(taskId); |
| | | ardVideoInspectTask.setCurrentStepId(""); |
| | | ardVideoInspectTask.setCurrentStepStartTime(""); |
| | | ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); |
| | | |
| | | /*将关联的相机录像关闭*/ |
| | | Integer userId = GlobalVariable.loginMap.get(ardVideoInspectTask.getCameraId());//获取当前相机的登录ID |
| | | if( GlobalVariable.user_real_Map.containsKey(userId)) |
| | | { //当前相机正在录像,则停止录像 |
| | |
| | | cmd.setCameraId(ardVideoInspectTask.getCameraId()); |
| | | cmd.setChannelNum(ardVideoInspectTask.getChannel()); |
| | | cmd.setEnable(false);//停止录像 |
| | | cmd.setUploadMinio(false); |
| | | hikClientService.recordToMinio(cmd); |
| | | } |
| | | InspectionTask task = taskMap.get(taskId); |