using CellularManagement.Domain.Entities; namespace CellularManagement.Domain.Repositories; /// /// 设备命令仓储接口 /// 负责设备实体的写入操作 /// public interface IDeviceCommandRepository : ICommandRepository { /// /// 创建设备 /// /// 设备实体 /// 取消令牌 /// 创建后的设备实体 Task CreateAsync(Device device, CancellationToken cancellationToken = default); /// /// 批量创建设备 /// /// 设备实体集合 /// 取消令牌 /// 创建后的设备实体集合 Task> CreateRangeAsync(IEnumerable devices, CancellationToken cancellationToken = default); /// /// 更新设备 /// /// 设备实体 /// 取消令牌 /// 是否更新成功 Task UpdateAsync(Device device, CancellationToken cancellationToken = default); /// /// 批量更新设备 /// /// 设备实体集合 /// 取消令牌 /// 是否更新成功 Task UpdateRangeAsync(IEnumerable devices, CancellationToken cancellationToken = default); /// /// 删除设备 /// /// 设备ID /// 取消令牌 /// 是否删除成功 Task DeleteAsync(string deviceId, CancellationToken cancellationToken = default); /// /// 批量删除设备 /// /// 设备ID集合 /// 取消令牌 /// 删除的设备数量 Task DeleteRangeAsync(IEnumerable deviceIds, CancellationToken cancellationToken = default); /// /// 启用设备 /// /// 设备ID /// 取消令牌 /// 是否启用成功 Task EnableAsync(string deviceId, CancellationToken cancellationToken = default); /// /// 禁用设备 /// /// 设备ID /// 取消令牌 /// 是否禁用成功 Task DisableAsync(string deviceId, CancellationToken cancellationToken = default); /// /// 批量启用设备 /// /// 设备ID集合 /// 取消令牌 /// 启用的设备数量 Task EnableRangeAsync(IEnumerable deviceIds, CancellationToken cancellationToken = default); /// /// 批量禁用设备 /// /// 设备ID集合 /// 取消令牌 /// 禁用的设备数量 Task DisableRangeAsync(IEnumerable deviceIds, CancellationToken cancellationToken = default); } /// /// 设备查询仓储接口 /// 负责设备实体的读取操作 /// public interface IDeviceQueryRepository { /// /// 根据序列号获取设备 /// Task GetBySerialNumberAsync(string serialNumber, CancellationToken cancellationToken = default); /// /// 检查序列号是否存在 /// Task ExistsBySerialNumberAsync(string serialNumber, string? excludeDeviceId = null, CancellationToken cancellationToken = default); /// /// 分页查询设备列表 /// Task<(int TotalCount, IEnumerable Items)> GetPagedAsync( int pageNumber, int pageSize, string? searchTerm = null, bool? isDisabled = null, CancellationToken cancellationToken = default); /// /// 获取所有启用的设备 /// Task> GetEnabledDevicesAsync(CancellationToken cancellationToken = default); /// /// 获取所有禁用的设备 /// Task> GetDisabledDevicesAsync(CancellationToken cancellationToken = default); /// /// 根据IP地址获取设备 /// Task GetByIPAddressAsync(string ipAddress, CancellationToken cancellationToken = default); /// /// 根据IP地址获取设备 /// Task GetByIdAsync(string id, CancellationToken cancellationToken = default); } /// /// 设备仓储接口 /// 组合命令和查询仓储接口 /// public interface IDeviceRepository : IDeviceCommandRepository, IDeviceQueryRepository { }