using TakeoutSaaS.Domain.Dictionary.Entities; namespace TakeoutSaaS.Domain.Dictionary.Repositories; /// /// 字典项仓储契约。 /// public interface IDictionaryItemRepository { /// /// 根据 ID 获取字典项。 /// /// 字典项 ID。 /// 取消标记。 /// 字典项或 null。 Task GetByIdAsync(long itemId, CancellationToken cancellationToken = default); /// /// 获取分组下字典项列表。 /// /// 租户 ID。 /// 分组 ID。 /// 取消标记。 /// 字典项集合。 Task> GetByGroupIdAsync(long tenantId, long groupId, CancellationToken cancellationToken = default); /// /// 获取合并后的系统/租户字典项。 /// /// 租户 ID。 /// 系统分组 ID。 /// 是否包含租户覆盖。 /// 取消标记。 /// 字典项集合。 Task> GetMergedItemsAsync(long tenantId, long systemGroupId, bool includeOverrides, CancellationToken cancellationToken = default); /// /// 新增字典项。 /// /// 字典项实体。 /// 取消标记。 Task AddAsync(DictionaryItem item, CancellationToken cancellationToken = default); /// /// 更新字典项。 /// /// 字典项实体。 /// 取消标记。 Task UpdateAsync(DictionaryItem item, CancellationToken cancellationToken = default); /// /// 删除字典项。 /// /// 字典项实体。 /// 取消标记。 Task RemoveAsync(DictionaryItem item, CancellationToken cancellationToken = default); /// /// 持久化更改。 /// /// 取消标记。 /// 异步任务。 Task SaveChangesAsync(CancellationToken cancellationToken = default); }