From 5628d007fc9b58fd22981d626e6f3557d8cdccb3 Mon Sep 17 00:00:00 2001 From: liusuyi <13324259@qq.com> Date: 星期三, 14 六月 2023 21:20:08 +0800 Subject: [PATCH] 优化线程间录像抢占问题 --- ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java | 26 ++++++++++++++------------ 1 files changed, 14 insertions(+), 12 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java index bd28cfe..ffdf968 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java @@ -8,7 +8,6 @@ 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; @@ -19,10 +18,10 @@ 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; @@ -30,16 +29,13 @@ 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 @@ -210,14 +206,20 @@ String recordName = minDistanceCameraId + "/" + time + "/" + simpleUUID + ".mp4"; cmd.setRecordObjectName(recordName); hikClientService.recordToMinio(cmd); + GlobalVariable.threadMap.put(minDistanceCameraId,Thread.currentThread().getName());//灏嗙浉鏈篿d涓庡綋鍓嶅鐞嗙嚎绋嬪悕绉扮粦瀹� 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; -- Gitblit v1.9.3