using CellularManagement.Domain.Entities.Device; using CellularManagement.Domain.Repositories.Base; namespace CellularManagement.Domain.Repositories.Device; /// /// 蜂窝设备运行时状态仓储接口 /// 组合命令和查询仓储接口 /// public interface ICellularDeviceRuntimeRepository : IBaseRepository { /// /// 添加设备运行时状态 /// Task AddRuntimeAsync(CellularDeviceRuntime runtime, CancellationToken cancellationToken = default); /// /// 更新设备运行时状态 /// void UpdateRuntime(CellularDeviceRuntime runtime); /// /// 删除设备运行时状态 /// Task DeleteRuntimeAsync(string id, CancellationToken cancellationToken = default); /// /// 获取所有设备运行时状态 /// Task> GetAllRuntimesAsync(CancellationToken cancellationToken = default); /// /// 根据ID获取设备运行时状态 /// Task GetRuntimeByIdAsync(string id, CancellationToken cancellationToken = default); /// /// 根据设备编号获取运行时状态 /// Task GetRuntimeByDeviceCodeAsync(string deviceCode, CancellationToken cancellationToken = default); /// /// 根据设备编号获取运行时状态(包含设备信息) /// Task GetRuntimeByDeviceCodeWithDeviceAsync(string deviceCode, CancellationToken cancellationToken = default); /// /// 根据运行编码获取运行时状态 /// Task GetRuntimeByRuntimeCodeAsync(string runtimeCode, CancellationToken cancellationToken = default); /// /// 获取正在运行的设备运行时状态 /// Task> GetRunningRuntimesAsync(CancellationToken cancellationToken = default); /// /// 根据运行时状态获取设备运行时状态 /// Task> GetRuntimesByStatusAsync(DeviceRuntimeStatus runtimeStatus, CancellationToken cancellationToken = default); /// /// 根据网络栈配置编号获取运行时状态 /// Task> GetRuntimesByNetworkStackCodeAsync(string networkStackCode, CancellationToken cancellationToken = default); /// /// 搜索设备运行时状态 /// Task> SearchRuntimesAsync( string? keyword, CancellationToken cancellationToken = default); /// /// 搜索设备运行时状态(分页) /// Task<(int TotalCount, IList Items)> SearchRuntimesAsync( string? keyword, int pageNumber, int pageSize, CancellationToken cancellationToken = default); /// /// 检查设备运行时状态是否存在 /// Task ExistsAsync(string id, CancellationToken cancellationToken = default); /// /// 检查设备编号是否有运行时状态 /// Task DeviceCodeExistsAsync(string deviceCode, CancellationToken cancellationToken = default); /// /// 检查运行编码是否存在 /// Task RuntimeCodeExistsAsync(string runtimeCode, CancellationToken cancellationToken = default); /// /// 获取运行时状态总数 /// Task GetRuntimeCountAsync(CancellationToken cancellationToken = default); /// /// 根据设备编号删除运行时状态 /// Task DeleteRuntimeByDeviceCodeAsync(string deviceCode, CancellationToken cancellationToken = default); }