namespace TakeoutSaaS.Application.App.Stores.Services;

/// <summary>
/// 门店定时任务服务。
/// </summary>
public interface IStoreSchedulerService
{
    /// <summary>
    /// 自动切换门店营业状态。
    /// </summary>
    /// <param name="now">当前时间（UTC）。</param>
    /// <param name="cancellationToken">取消标记。</param>
    /// <returns>更新的门店数量。</returns>
    Task<int> AutoSwitchBusinessStatusAsync(DateTime now, CancellationToken cancellationToken);

    /// <summary>
    /// 检查门店资质过期并更新状态。
    /// </summary>
    /// <param name="now">当前时间（UTC）。</param>
    /// <param name="cancellationToken">取消标记。</param>
    /// <returns>更新的门店数量。</returns>
    Task<int> CheckQualificationExpiryAsync(DateTime now, CancellationToken cancellationToken);
}
