69 lines
2.3 KiB
C#
69 lines
2.3 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using TakeoutSaaS.Domain.Dictionary.Entities;
|
|
using TakeoutSaaS.Domain.Dictionary.Enums;
|
|
|
|
namespace TakeoutSaaS.Domain.Dictionary.Repositories;
|
|
|
|
/// <summary>
|
|
/// 参数字典仓储契约。
|
|
/// </summary>
|
|
public interface IDictionaryRepository
|
|
{
|
|
/// <summary>
|
|
/// 依据 ID 获取分组。
|
|
/// </summary>
|
|
Task<DictionaryGroup?> FindGroupByIdAsync(long id, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 依据编码获取分组。
|
|
/// </summary>
|
|
Task<DictionaryGroup?> FindGroupByCodeAsync(string code, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 搜索分组,可按作用域过滤。
|
|
/// </summary>
|
|
Task<IReadOnlyList<DictionaryGroup>> SearchGroupsAsync(DictionaryScope? scope, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 新增分组。
|
|
/// </summary>
|
|
Task AddGroupAsync(DictionaryGroup group, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 删除分组。
|
|
/// </summary>
|
|
Task RemoveGroupAsync(DictionaryGroup group, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 依据 ID 获取字典项。
|
|
/// </summary>
|
|
Task<DictionaryItem?> FindItemByIdAsync(long id, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 获取某分组下的所有字典项。
|
|
/// </summary>
|
|
Task<IReadOnlyList<DictionaryItem>> GetItemsByGroupIdAsync(long groupId, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 按分组编码集合获取字典项(可包含系统参数)。
|
|
/// </summary>
|
|
Task<IReadOnlyList<DictionaryItem>> GetItemsByCodesAsync(IEnumerable<string> codes, long tenantId, bool includeSystem, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 新增字典项。
|
|
/// </summary>
|
|
Task AddItemAsync(DictionaryItem item, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 删除字典项。
|
|
/// </summary>
|
|
Task RemoveItemAsync(DictionaryItem item, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 持久化更改。
|
|
/// </summary>
|
|
Task SaveChangesAsync(CancellationToken cancellationToken = default);
|
|
}
|