diff --git a/Cis.Application/Core/Algo/MarkSearcherBase.cs b/Cis.Application/Core/Algo/MarkSearcherBase.cs index 153b722..1ae6d5c 100644 --- a/Cis.Application/Core/Algo/MarkSearcherBase.cs +++ b/Cis.Application/Core/Algo/MarkSearcherBase.cs @@ -16,7 +16,7 @@ public abstract class MarkSearcherBase /// /// _markLabelInfoList 锁对象,写锁 /// - private static readonly object mliListLock = new(); + private static object mliListLock { get; } = new(); /// /// 需要计算的 markLabelInfo 列表 diff --git a/Cis.Application/Core/Center/CameraDataCenter.cs b/Cis.Application/Core/Center/CameraDataCenter.cs index 0f47010..5169d0f 100644 --- a/Cis.Application/Core/Center/CameraDataCenter.cs +++ b/Cis.Application/Core/Center/CameraDataCenter.cs @@ -35,7 +35,7 @@ public class CameraDataCenter /// /// _markSearcherDict 锁对象,写锁 /// - private static readonly ReaderWriterLockSlim msDictLock = new(); + private static ReaderWriterLockSlim msDictLock { get; } = new(); /// /// (cbCameraId, MarkSearcherBase) @@ -224,19 +224,58 @@ public class CameraDataCenter return markSearcher.AddMarkLabelCalcInfo(markLabelCalcInfo); } - public bool DeleteCameraMarkLabel(long cameraId, long marklabelId) + public bool DeleteCameraMarkLabel(long cameraId, long markLabelId) { if (!_markSearcherDict.ExistsKey(cameraId)) return false; MarkSearcherBase markSearcher = _markSearcherDict[cameraId]; - return markSearcher.DeleteMarkLabelCalcInfo(marklabelId); + return markSearcher.DeleteMarkLabelCalcInfo(markLabelId); } - public List GetMarkLabelCalcResults(long cameraId) + public List GetMarkLabelCalcResultList(long cameraId) { - return null; } + public async Task ActiveCameraAsync(long cameraId) + { + return await Task.Run(() => + { + return ActiveCamera(cameraId); + }); + } + + public async Task DeActiveCameraAsync(long cameraId) + { + return await Task.Run(() => + { + return DeActiveCamera(cameraId); + }); + } + + public async Task AddCameraMarkLabelAsync(long cameraId, long markLabelId) + { + return await Task.Run(() => + { + return AddCameraMarkLabel(cameraId, markLabelId); + }); + } + + public async Task DeleteCameraMarkLabelAsync(long cameraId, long markLabelId) + { + return await Task.Run(() => + { + return DeleteCameraMarkLabel(cameraId, markLabelId); + }); + } + + public async Task> GetMarkLabelCalcResultListAsync(long cameraId) + { + return await Task.Run(() => + { + return GetMarkLabelCalcResultList(cameraId); + }); + } + #endregion external call } \ No newline at end of file diff --git a/Cis.Application/Core/Service/MarkSearchService.cs b/Cis.Application/Core/Service/MarkSearchService.cs index 0432a26..ec6fd1c 100644 --- a/Cis.Application/Core/Service/MarkSearchService.cs +++ b/Cis.Application/Core/Service/MarkSearchService.cs @@ -16,7 +16,28 @@ public class MarkSearchService : IDynamicApiController, ITransient _cameraDataCenter = cameraDataCenter; } - public void ActivateCamera() + public async Task ActivateCamera(long cameraId) { + return await _cameraDataCenter.ActiveCameraAsync(cameraId); + } + + public async Task DeActiveCamera(long cameraId) + { + return await _cameraDataCenter.DeActiveCameraAsync(cameraId); + } + + public async Task AddCameraMarkLabel(long cameraId, long markLabelId) + { + return await _cameraDataCenter.AddCameraMarkLabelAsync(cameraId, markLabelId); + } + + public async Task DeleteCameraMarkLabel(long cameraId, long markLabelId) + { + return await _cameraDataCenter.DeleteCameraMarkLabelAsync(cameraId, markLabelId); + } + + public async Task> GetMarkLabelCalcResultList(long cameraId) + { + return await _cameraDataCenter.GetMarkLabelCalcResultListAsync(cameraId); } } \ No newline at end of file