using TakeoutSaaS.Application.App.Stores.Dto;
using TakeoutSaaS.Domain.Stores.Entities;

namespace TakeoutSaaS.Application.App.Stores.Services;

/// <summary>
/// 配送范围检测服务。
/// </summary>
public interface IDeliveryZoneService
{
    /// <summary>
    /// 检测坐标是否落在配送范围内。
    /// </summary>
    /// <param name="zones">配送区域列表。</param>
    /// <param name="longitude">经度。</param>
    /// <param name="latitude">纬度。</param>
    /// <returns>检测结果。</returns>
    StoreDeliveryCheckResultDto CheckPointInZones(
        IReadOnlyList<StoreDeliveryZone> zones,
        double longitude,
        double latitude);
}
