using Hotline.Orders;
using Hotline.Share.Dtos.Order;
using Hotline.Share.Dtos.Order.OrderDelay;
using SqlSugar;

namespace Hotline.Application.OrderApp.OrderDelayApp;

public interface IOrderDelayApplication
{
    /// <summary>
    /// 查询延期待审批列表
    /// </summary>
    /// <returns></returns>
    ISugarQueryable<OrderDelay> QueryWaited(DelayListDto dto);

    /// <summary>
    /// 延期审核
    /// </summary>
    /// <param name="request"></param>
    /// <param name="cancellation"></param>
    /// <returns></returns>
    Task ReviewAsync(OrderDelayReviewRequest request, CancellationToken cancellation);

    /// <summary>
    /// 延期批量审核
    /// </summary>
    /// <param name="request"></param>
    /// <param name="cancellation"></param>
    /// <returns></returns>
    Task BatchReviewAsync(BatchOrderDelayReviewRequest request, CancellationToken cancellation);
}