From 9059935995c07b5b34e16cec116db288bcac988b Mon Sep 17 00:00:00 2001
From: fajiao <1519100073@qq.com>
Date: Tue, 18 Oct 2022 15:25:16 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E6=9C=8D=E5=8A=A1?=
=?UTF-8?q?=E8=B0=83=E7=94=A8=E8=AE=A1=E7=AE=97=E6=B5=81=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Cis.Application/Core/Algo/MarkSearcherBase.cs | 2 +-
.../Core/Center/CameraDataCenter.cs | 49 +++++++++++++++++--
.../Core/Service/MarkSearchService.cs | 23 ++++++++-
3 files changed, 67 insertions(+), 7 deletions(-)
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