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; /// /// 商户聚合仓储契约,提供基础 CRUD 与查询能力。 /// public interface IMerchantRepository { /// /// 依据标识获取商户。 /// Task FindByIdAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default); /// /// 按状态筛选商户列表。 /// Task> SearchAsync(long tenantId, MerchantStatus? status, CancellationToken cancellationToken = default); /// /// 获取指定商户的员工列表。 /// Task> GetStaffAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default); /// /// 获取指定商户的合同列表。 /// Task> GetContractsAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default); /// /// 获取指定商户的资质文件列表。 /// Task> GetDocumentsAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default); /// /// 新增商户主体。 /// Task AddMerchantAsync(Merchant merchant, CancellationToken cancellationToken = default); /// /// 新增商户员工。 /// Task AddStaffAsync(MerchantStaff staff, CancellationToken cancellationToken = default); /// /// 新增商户合同。 /// Task AddContractAsync(MerchantContract contract, CancellationToken cancellationToken = default); /// /// 新增商户资质文件。 /// Task AddDocumentAsync(MerchantDocument document, CancellationToken cancellationToken = default); /// /// 持久化变更。 /// Task SaveChangesAsync(CancellationToken cancellationToken = default); /// /// 更新商户信息。 /// Task UpdateMerchantAsync(Merchant merchant, CancellationToken cancellationToken = default); /// /// 删除商户。 /// Task DeleteMerchantAsync(long merchantId, long tenantId, CancellationToken cancellationToken = default); }