using TakeoutSaaS.Domain.Navigation.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.Navigation.Entities;

/// <summary>
/// 用户发起的导航请求日志。
/// </summary>
public sealed class NavigationRequest : MultiTenantEntityBase
{
    /// <summary>
    /// 用户 ID。
    /// </summary>
    public long UserId { get; set; }

    /// <summary>
    /// 门店 ID。
    /// </summary>
    public long StoreId { get; set; }

    /// <summary>
    /// 来源通道（小程序、H5 等）。
    /// </summary>
    public NavigationChannel Channel { get; set; } = NavigationChannel.MiniProgram;

    /// <summary>
    /// 跳转的地图应用。
    /// </summary>
    public NavigationTargetApp TargetApp { get; set; } = NavigationTargetApp.WechatMap;

    /// <summary>
    /// 请求时间。
    /// </summary>
    public DateTime RequestedAt { get; set; } = DateTime.UtcNow;
}
