Files
TakeoutSaaS.AdminApi/src/Domain/TakeoutSaaS.Domain/Stores/Entities/Store.cs
2025-12-01 13:26:05 +08:00

131 lines
3.0 KiB
C#

using TakeoutSaaS.Domain.Stores.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Stores.Entities;
/// <summary>
/// 门店信息,承载营业配置与能力。
/// </summary>
public sealed class Store : MultiTenantEntityBase
{
/// <summary>
/// 所属商户标识。
/// </summary>
public Guid MerchantId { get; set; }
/// <summary>
/// 门店编码,便于扫码及外部对接。
/// </summary>
public string Code { get; set; } = string.Empty;
/// <summary>
/// 门店名称。
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 联系电话。
/// </summary>
public string? Phone { get; set; }
/// <summary>
/// 门店负责人姓名。
/// </summary>
public string? ManagerName { get; set; }
/// <summary>
/// 门店当前运营状态。
/// </summary>
public StoreStatus Status { get; set; } = StoreStatus.Closed;
/// <summary>
/// 所在国家或地区。
/// </summary>
public string? Country { get; set; }
/// <summary>
/// 所在省份。
/// </summary>
public string? Province { get; set; }
/// <summary>
/// 所在城市。
/// </summary>
public string? City { get; set; }
/// <summary>
/// 区县信息。
/// </summary>
public string? District { get; set; }
/// <summary>
/// 详细地址。
/// </summary>
public string? Address { get; set; }
/// <summary>
/// 高德/腾讯地图经度。
/// </summary>
public double? Longitude { get; set; }
/// <summary>
/// 纬度。
/// </summary>
public double? Latitude { get; set; }
/// <summary>
/// 门店描述或公告。
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 门店营业时段描述(备用字符串)。
/// </summary>
public string? BusinessHours { get; set; }
/// <summary>
/// 是否支持堂食。
/// </summary>
public bool SupportsDineIn { get; set; } = true;
/// <summary>
/// 是否支持自提。
/// </summary>
public bool SupportsPickup { get; set; } = true;
/// <summary>
/// 是否支持配送。
/// </summary>
public bool SupportsDelivery { get; set; } = true;
/// <summary>
/// 支持预约。
/// </summary>
public bool SupportsReservation { get; set; }
/// <summary>
/// 支持排队叫号。
/// </summary>
public bool SupportsQueueing { get; set; }
/// <summary>
/// 默认配送半径(公里)。
/// </summary>
public decimal DeliveryRadiusKm { get; set; } = 3m;
/// <summary>
/// 门店公告。
/// </summary>
public string? Announcement { get; set; }
/// <summary>
/// 门店标签(逗号分隔)。
/// </summary>
public string? Tags { get; set; }
/// <summary>
/// 门店海报。
/// </summary>
public string? CoverImageUrl { get; set; }
}