| | |
| | | package com.ruoyi.alarm.globalAlarm.service.impl; |
| | | |
| | | import com.ruoyi.alarm.globalAlarm.domain.GuideTask; |
| | | import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar; |
| | | import com.ruoyi.alarm.radarAlarm.service.IArdAlarmRadarService; |
| | | import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube; |
| | | import com.ruoyi.alarm.tubeAlarm.service.IArdAlarmTubeService; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.device.camera.domain.CameraCmd; |
| | | import com.ruoyi.device.hiksdk.service.IHikClientService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * @ClassName QueueTaskExecutor |
| | | * @Description: |
| | | * @Description: 队列任务执行器 |
| | | * @Author 刘苏义 |
| | | * @Date 2023/6/29 21:10 |
| | | * @Version 1.0 |
| | | */ |
| | | |
| | | import com.ruoyi.alarm.globalAlarm.domain.GuideTask; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class QueueTaskExecutor { |
| | | @Resource |
| | | IHikClientService hikClientService; |
| | | @Resource |
| | | IArdAlarmTubeService ardAlarmTubeService; |
| | | @Resource |
| | | IArdAlarmRadarService ardAlarmRadarService; |
| | | |
| | | public void processTask(GuideTask guideTask) { |
| | | System.out.println("Executing task: " + guideTask.getAlarmId()); |
| | | try { |
| | | Thread.sleep(30000); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | CameraCmd cmd = new CameraCmd(); |
| | | cmd.setCameraId(guideTask.getCameraId()); |
| | | cmd.setChannelNum(guideTask.getNum()); |
| | | boolean guideRes = hikClientService.guideTargetPosition(cmd); |
| | | if (guideRes) { |
| | | hikClientService.controlLock(cmd);//上锁 |
| | | cmd.setEnable(true);//开始录像 |
| | | hikClientService.recordToMinio(cmd);//开始录像 |
| | | Thread.sleep(30000); |
| | | cmd.setEnable(false);//停止录像 |
| | | cmd.setUploadMinio(true);//上传minio |
| | | String url = hikClientService.recordToMinio(cmd);//停止录像返回url |
| | | if (StringUtils.isNotEmpty(url)) { |
| | | switch (guideTask.getAlarmType()) { |
| | | case "sys_tube_leak": |
| | | ArdAlarmTube ardAlarmTube = new ArdAlarmTube(); |
| | | ardAlarmTube.setId(guideTask.getAlarmId()); |
| | | ardAlarmTube.setRecordUrl(url); |
| | | ardAlarmTubeService.updateArdAlarmTube(ardAlarmTube); |
| | | break; |
| | | case "sys_radar_move": |
| | | ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar(); |
| | | ardAlarmRadar.setId(guideTask.getAlarmId()); |
| | | if (guideTask.getRecordSn().equals(1)) { |
| | | ardAlarmRadar.setRecordUrl1(url); |
| | | } else { |
| | | ardAlarmRadar.setRecordUrl2(url); |
| | | } |
| | | ardAlarmRadarService.updateArdAlarmRadar(ardAlarmRadar); |
| | | break; |
| | | case "sys_radar_fire": |
| | | ardAlarmRadar = new ArdAlarmRadar(); |
| | | ardAlarmRadar.setId(guideTask.getAlarmId()); |
| | | if (guideTask.getRecordSn().equals(1)) { |
| | | ardAlarmRadar.setRecordUrl1(url); |
| | | } else { |
| | | ardAlarmRadar.setRecordUrl2(url); |
| | | } |
| | | ardAlarmRadarService.updateArdAlarmRadar(ardAlarmRadar); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | log.info("自动引导异常:" + ex.getMessage()); |
| | | } |
| | | System.out.println("finished task: " + guideTask.getAlarmId()); |
| | | } |
| | | } |