using TakeoutSaaS.Domain.Dictionary.Entities; using TakeoutSaaS.Domain.Dictionary.Enums; namespace TakeoutSaaS.Domain.Dictionary.Repositories; /// /// 字典标签覆盖仓储契约。 /// public interface IDictionaryLabelOverrideRepository { /// /// 根据 ID 获取覆盖配置。 /// Task GetByIdAsync(long id, CancellationToken cancellationToken = default); /// /// 获取指定字典项的覆盖配置。 /// /// 租户 ID。 /// 字典项 ID。 /// 取消标记。 Task GetByItemIdAsync(long tenantId, long dictionaryItemId, CancellationToken cancellationToken = default); /// /// 获取租户的所有覆盖配置。 /// /// 租户 ID。 /// 可选的覆盖类型过滤。 /// 取消标记。 Task> ListByTenantAsync( long tenantId, OverrideType? overrideType = null, CancellationToken cancellationToken = default); /// /// 批量获取多个字典项的覆盖配置。 /// /// 租户 ID。 /// 字典项 ID 列表。 /// 取消标记。 Task> GetByItemIdsAsync( long tenantId, IEnumerable dictionaryItemIds, CancellationToken cancellationToken = default); /// /// 新增覆盖配置。 /// Task AddAsync(DictionaryLabelOverride entity, CancellationToken cancellationToken = default); /// /// 更新覆盖配置。 /// Task UpdateAsync(DictionaryLabelOverride entity, CancellationToken cancellationToken = default); /// /// 删除覆盖配置。 /// Task DeleteAsync(DictionaryLabelOverride entity, CancellationToken cancellationToken = default); /// /// 持久化更改。 /// Task SaveChangesAsync(CancellationToken cancellationToken = default); }