74 lines
2.5 KiB
C#
74 lines
2.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using TakeoutSaaS.Domain.Merchants.Entities;
|
|
using TakeoutSaaS.Domain.Merchants.Enums;
|
|
|
|
namespace TakeoutSaaS.Domain.Merchants.Repositories;
|
|
|
|
/// <summary>
|
|
/// 商户聚合仓储契约,提供基础 CRUD 与查询能力。
|
|
/// </summary>
|
|
public interface IMerchantRepository
|
|
{
|
|
/// <summary>
|
|
/// 依据标识获取商户。
|
|
/// </summary>
|
|
Task<Merchant?> FindByIdAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 按状态筛选商户列表。
|
|
/// </summary>
|
|
Task<IReadOnlyList<Merchant>> SearchAsync(long tenantId, MerchantStatus? status, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 获取指定商户的员工列表。
|
|
/// </summary>
|
|
Task<IReadOnlyList<MerchantStaff>> GetStaffAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 获取指定商户的合同列表。
|
|
/// </summary>
|
|
Task<IReadOnlyList<MerchantContract>> GetContractsAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 获取指定商户的资质文件列表。
|
|
/// </summary>
|
|
Task<IReadOnlyList<MerchantDocument>> GetDocumentsAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 新增商户主体。
|
|
/// </summary>
|
|
Task AddMerchantAsync(Merchant merchant, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 新增商户员工。
|
|
/// </summary>
|
|
Task AddStaffAsync(MerchantStaff staff, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 新增商户合同。
|
|
/// </summary>
|
|
Task AddContractAsync(MerchantContract contract, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 新增商户资质文件。
|
|
/// </summary>
|
|
Task AddDocumentAsync(MerchantDocument document, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 持久化变更。
|
|
/// </summary>
|
|
Task SaveChangesAsync(CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 更新商户信息。
|
|
/// </summary>
|
|
Task UpdateMerchantAsync(Merchant merchant, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 删除商户。
|
|
/// </summary>
|
|
Task DeleteMerchantAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default);
|
|
}
|