feat: 扩展领域模型与配置
This commit is contained in:
130
src/Domain/TakeoutSaaS.Domain/Stores/Entities/Store.cs
Normal file
130
src/Domain/TakeoutSaaS.Domain/Stores/Entities/Store.cs
Normal file
@@ -0,0 +1,130 @@
|
||||
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; }
|
||||
}
|
||||
Reference in New Issue
Block a user