You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
3.4 KiB
77 lines
3.4 KiB
using CellularManagement.Domain.Entities.Logging;
|
|
using CellularManagement.Domain.Repositories.Base;
|
|
using X1.Domain.Entities.Logging;
|
|
|
|
namespace CellularManagement.Domain.Repositories.Logging;
|
|
|
|
/// <summary>
|
|
/// 协议日志仓储接口
|
|
/// </summary>
|
|
public interface IProtocolLogRepository : IBaseRepository<ProtocolLog>
|
|
{
|
|
/// <summary>
|
|
/// 根据设备代码获取协议日志
|
|
/// </summary>
|
|
/// <param name="deviceCode">设备代码</param>
|
|
/// <param name="cancellationToken">取消令牌</param>
|
|
/// <returns>协议日志列表</returns>
|
|
Task<IEnumerable<ProtocolLog>> GetByDeviceCodeAsync(string deviceCode, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 根据运行时代码获取协议日志
|
|
/// </summary>
|
|
/// <param name="runtimeCode">运行时代码</param>
|
|
/// <param name="cancellationToken">取消令牌</param>
|
|
/// <returns>协议日志列表</returns>
|
|
Task<IEnumerable<ProtocolLog>> GetByRuntimeCodeAsync(string runtimeCode, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 根据设备代码和运行时代码获取协议日志
|
|
/// </summary>
|
|
/// <param name="deviceCode">设备代码</param>
|
|
/// <param name="runtimeCode">运行时代码</param>
|
|
/// <param name="cancellationToken">取消令牌</param>
|
|
/// <returns>协议日志列表</returns>
|
|
Task<IEnumerable<ProtocolLog>> GetByDeviceAndRuntimeCodeAsync(string deviceCode, string runtimeCode, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 根据时间范围获取协议日志
|
|
/// </summary>
|
|
/// <param name="startTimestamp">开始时间戳</param>
|
|
/// <param name="endTimestamp">结束时间戳</param>
|
|
/// <param name="cancellationToken">取消令牌</param>
|
|
/// <returns>协议日志列表</returns>
|
|
Task<IEnumerable<ProtocolLog>> GetByTimeRangeAsync(long startTimestamp, long endTimestamp, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 根据协议层类型获取协议日志
|
|
/// </summary>
|
|
/// <param name="layerType">协议层类型</param>
|
|
/// <param name="cancellationToken">取消令牌</param>
|
|
/// <returns>协议日志列表</returns>
|
|
Task<IEnumerable<ProtocolLog>> GetByLayerTypeAsync(ProtocolLayer layerType, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 根据设备代码和运行时状态获取协议日志(高性能查询)
|
|
/// </summary>
|
|
/// <param name="deviceCode">设备代码</param>
|
|
/// <param name="runtimeCodes">运行时代码集合</param>
|
|
/// <param name="startTimestamp">开始时间戳</param>
|
|
/// <param name="endTimestamp">结束时间戳</param>
|
|
/// <param name="layerType">协议层类型</param>
|
|
/// <param name="runtimeStatuses">运行时状态过滤(可选,支持多个状态)</param>
|
|
/// <param name="orderByDescending">是否按时间戳降序排序</param>
|
|
/// <param name="cancellationToken">取消令牌</param>
|
|
/// <returns>协议日志列表</returns>
|
|
Task<IEnumerable<ProtocolLog>> GetByDeviceWithFiltersAsync(
|
|
string? deviceCode,
|
|
IEnumerable<string>? runtimeCodes = null,
|
|
long? startTimestamp = null,
|
|
long? endTimestamp = null,
|
|
string? layerType = null,
|
|
IEnumerable<int>? runtimeStatuses = null,
|
|
bool orderByDescending = true,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
|
|
}
|