using TakeoutSaaS.Domain.Orders.Entities;
namespace TakeoutSaaS.Domain.Orders.Repositories;
///
/// 订单写仓储。
///
public interface IOrderRepository
{
///
/// 新增订单。
///
Task AddAsync(Order order, CancellationToken cancellationToken = default);
///
/// 批量新增订单明细。
///
Task AddItemsAsync(IReadOnlyCollection items, CancellationToken cancellationToken = default);
///
/// 新增状态流转记录。
///
Task AddStatusHistoryAsync(OrderStatusHistory history, CancellationToken cancellationToken = default);
///
/// 查询可写订单。
///
Task FindAsync(long tenantId, long orderId, CancellationToken cancellationToken = default);
///
/// 保存变更。
///
Task SaveChangesAsync(CancellationToken cancellationToken = default);
}