| | |
| | | import com.ruoyi.alarm.stealAlarm.mapper.ArdAlarmStealelecMapper; |
| | | import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube; |
| | | import com.ruoyi.alarm.tubeAlarm.mapper.ArdAlarmTubeMapper; |
| | | import com.ruoyi.alarm.tubeAlarm.service.IArdAlarmTubeService; |
| | | import com.ruoyi.alarmpoints.tube.domain.ArdTubes; |
| | | import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails; |
| | | import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper; |
| | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.tools.ArdTool; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.common.utils.uuid.UUID; |
| | | 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.common.GlobalVariable; |
| | | import com.ruoyi.device.hiksdk.config.MinioClientSingleton; |
| | | import com.ruoyi.device.hiksdk.service.IHikClientService; |
| | | import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil; |
| | |
| | | import com.ruoyi.utils.tube.GeoPoint; |
| | | import com.ruoyi.utils.tube.TubeTools; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.poi.ss.formula.functions.T; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; |
| | | |
| | | /** |
| | | * @ClassName: globalAlarmServiceImpl |
| | |
| | | String recordName = minDistanceCameraId + "/" + time + "/" + simpleUUID + ".mp4"; |
| | | cmd.setRecordObjectName(recordName); |
| | | hikClientService.recordToMinio(cmd); |
| | | GlobalVariable.threadMap.put(minDistanceCameraId,Thread.currentThread().getName());//将相机id与当前处理线程名称绑定 |
| | | Thread.sleep(30000); |
| | | cmd.setEnable(false); |
| | | cmd.setUploadMinio(true); |
| | | hikClientService.recordToMinio(cmd); |
| | | //更新录像 |
| | | String url = MinioClientSingleton.domainUrl + "/" + cmd.getRecordBucketName() + "/" + recordName; |
| | | ardAlarmTube.setRecordUrl(url); |
| | | ardAlarmTubeMapper.updateArdAlarmTube(ardAlarmTube); |
| | | String thread = GlobalVariable.threadMap.get(minDistanceCameraId); |
| | | String currentThread = Thread.currentThread().getName(); |
| | | //判断相机绑定线程是否是当前线程,如果是,停止录像,如果不是,说明相机被其他线程抢占,不停止录像 |
| | | if(thread.equals(currentThread)) { |
| | | cmd.setEnable(false); |
| | | cmd.setUploadMinio(true); |
| | | hikClientService.recordToMinio(cmd); |
| | | //更新录像 |
| | | String url = MinioClientSingleton.domainUrl + "/" + cmd.getRecordBucketName() + "/" + recordName; |
| | | ardAlarmTube.setRecordUrl(url); |
| | | ardAlarmTubeMapper.updateArdAlarmTube(ardAlarmTube); |
| | | } |
| | | } |
| | | } |
| | | break; |