YD_TrainingCompetition_Api/Services/IHikvisionAlarmStore.cs
2026-07-02 10:05:51 +08:00

52 lines
1.2 KiB
C#

using YD_TrainingCompetition_Api.Models;
namespace YD_TrainingCompetition_Api.Services;
public interface IHikvisionAlarmStore
{
/// <summary>
/// 存储一条报警记录
/// </summary>
void Add(AlarmRecord record);
/// <summary>
/// 获取所有报警记录(按时间倒序)
/// </summary>
IReadOnlyCollection<AlarmRecord> GetAll();
/// <summary>
/// 获取指定摄像头的报警记录
/// </summary>
IReadOnlyCollection<AlarmRecord> GetByDeviceId(string deviceId);
/// <summary>
/// 获取最新一条报警记录
/// </summary>
AlarmRecord? GetLatest();
/// <summary>
/// 获取最新一条报警记录(按设备)
/// </summary>
AlarmRecord? GetLatestByDevice(string deviceId);
/// <summary>
/// 更新摄像头状态
/// </summary>
void UpdateCameraStatus(HikvisionCameraStatus status);
/// <summary>
/// 获取所有摄像头状态
/// </summary>
IReadOnlyCollection<HikvisionCameraStatus> GetAllCameraStatuses();
/// <summary>
/// 获取单个摄像头状态
/// </summary>
HikvisionCameraStatus? GetCameraStatus(string deviceId);
/// <summary>
/// 清空报警记录
/// </summary>
void ClearAlarms();
}