191 lines
4.2 KiB
C#
191 lines
4.2 KiB
C#
using System.Text.Json.Serialization;
|
|
using TakeoutSaaS.Domain.Stores.Enums;
|
|
using TakeoutSaaS.Shared.Abstractions.Serialization;
|
|
|
|
namespace TakeoutSaaS.Application.App.Stores.Dto;
|
|
|
|
/// <summary>
|
|
/// 门店 DTO。
|
|
/// </summary>
|
|
public sealed class StoreDto
|
|
{
|
|
/// <summary>
|
|
/// 门店 ID。
|
|
/// </summary>
|
|
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
|
|
public long Id { get; init; }
|
|
|
|
/// <summary>
|
|
/// 租户 ID。
|
|
/// </summary>
|
|
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
|
|
public long TenantId { get; init; }
|
|
|
|
/// <summary>
|
|
/// 商户 ID。
|
|
/// </summary>
|
|
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
|
|
public long MerchantId { get; init; }
|
|
|
|
/// <summary>
|
|
/// 门店编码。
|
|
/// </summary>
|
|
public string Code { get; init; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 门店名称。
|
|
/// </summary>
|
|
public string Name { get; init; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 电话。
|
|
/// </summary>
|
|
public string? Phone { get; init; }
|
|
|
|
/// <summary>
|
|
/// 负责人。
|
|
/// </summary>
|
|
public string? ManagerName { get; init; }
|
|
|
|
/// <summary>
|
|
/// 状态。
|
|
/// </summary>
|
|
public StoreStatus Status { get; init; }
|
|
|
|
/// <summary>
|
|
/// 门头招牌图。
|
|
/// </summary>
|
|
public string? SignboardImageUrl { get; init; }
|
|
|
|
/// <summary>
|
|
/// 主体类型。
|
|
/// </summary>
|
|
public StoreOwnershipType OwnershipType { get; init; }
|
|
|
|
/// <summary>
|
|
/// 审核状态。
|
|
/// </summary>
|
|
public StoreAuditStatus AuditStatus { get; init; }
|
|
|
|
/// <summary>
|
|
/// 经营状态。
|
|
/// </summary>
|
|
public StoreBusinessStatus BusinessStatus { get; init; }
|
|
|
|
/// <summary>
|
|
/// 歇业原因。
|
|
/// </summary>
|
|
public StoreClosureReason? ClosureReason { get; init; }
|
|
|
|
/// <summary>
|
|
/// 歇业原因补充说明。
|
|
/// </summary>
|
|
public string? ClosureReasonText { get; init; }
|
|
|
|
/// <summary>
|
|
/// 行业类目 ID。
|
|
/// </summary>
|
|
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
|
|
public long? CategoryId { get; init; }
|
|
|
|
/// <summary>
|
|
/// 审核驳回原因。
|
|
/// </summary>
|
|
public string? RejectionReason { get; init; }
|
|
|
|
/// <summary>
|
|
/// 提交审核时间。
|
|
/// </summary>
|
|
public DateTime? SubmittedAt { get; init; }
|
|
|
|
/// <summary>
|
|
/// 审核通过时间。
|
|
/// </summary>
|
|
public DateTime? ActivatedAt { get; init; }
|
|
|
|
/// <summary>
|
|
/// 强制关闭时间。
|
|
/// </summary>
|
|
public DateTime? ForceClosedAt { get; init; }
|
|
|
|
/// <summary>
|
|
/// 强制关闭原因。
|
|
/// </summary>
|
|
public string? ForceCloseReason { get; init; }
|
|
|
|
/// <summary>
|
|
/// 省份。
|
|
/// </summary>
|
|
public string? Province { get; init; }
|
|
|
|
/// <summary>
|
|
/// 城市。
|
|
/// </summary>
|
|
public string? City { get; init; }
|
|
|
|
/// <summary>
|
|
/// 区县。
|
|
/// </summary>
|
|
public string? District { get; init; }
|
|
|
|
/// <summary>
|
|
/// 详细地址。
|
|
/// </summary>
|
|
public string? Address { get; init; }
|
|
|
|
/// <summary>
|
|
/// 经度。
|
|
/// </summary>
|
|
public double? Longitude { get; init; }
|
|
|
|
/// <summary>
|
|
/// 纬度。
|
|
/// </summary>
|
|
public double? Latitude { get; init; }
|
|
|
|
/// <summary>
|
|
/// 公告。
|
|
/// </summary>
|
|
public string? Announcement { get; init; }
|
|
|
|
/// <summary>
|
|
/// 标签。
|
|
/// </summary>
|
|
public string? Tags { get; init; }
|
|
|
|
/// <summary>
|
|
/// 默认配送半径。
|
|
/// </summary>
|
|
public decimal DeliveryRadiusKm { get; init; }
|
|
|
|
/// <summary>
|
|
/// 支持堂食。
|
|
/// </summary>
|
|
public bool SupportsDineIn { get; init; }
|
|
|
|
/// <summary>
|
|
/// 支持自提。
|
|
/// </summary>
|
|
public bool SupportsPickup { get; init; }
|
|
|
|
/// <summary>
|
|
/// 支持配送。
|
|
/// </summary>
|
|
public bool SupportsDelivery { get; init; }
|
|
|
|
/// <summary>
|
|
/// 支持预约。
|
|
/// </summary>
|
|
public bool SupportsReservation { get; init; }
|
|
|
|
/// <summary>
|
|
/// 支持排队叫号。
|
|
/// </summary>
|
|
public bool SupportsQueueing { get; init; }
|
|
|
|
/// <summary>
|
|
/// 创建时间。
|
|
/// </summary>
|
|
public DateTime CreatedAt { get; init; }
|
|
}
|