using System.Text.Json.Serialization; using TakeoutSaaS.Domain.Tenants.Enums; using TakeoutSaaS.Shared.Abstractions.Serialization; namespace TakeoutSaaS.Application.App.Tenants.Dto; /// /// 租户套餐 DTO。 /// public sealed class TenantPackageDto { /// /// 套餐 ID。 /// [JsonConverter(typeof(SnowflakeIdJsonConverter))] public long Id { get; init; } /// /// 套餐名称。 /// public string Name { get; init; } = string.Empty; /// /// 描述。 /// public string? Description { get; init; } /// /// 套餐类型。 /// public TenantPackageType PackageType { get; init; } /// /// 月付价格。 /// public decimal? MonthlyPrice { get; init; } /// /// 年付价格。 /// public decimal? YearlyPrice { get; init; } /// /// 最大门店数。 /// public int? MaxStoreCount { get; init; } /// /// 最大账号数。 /// public int? MaxAccountCount { get; init; } /// /// 存储上限(GB)。 /// public int? MaxStorageGb { get; init; } /// /// 短信额度。 /// public int? MaxSmsCredits { get; init; } /// /// 配送单上限。 /// public int? MaxDeliveryOrders { get; init; } /// /// 权益明细 JSON。 /// public string? FeaturePoliciesJson { get; init; } /// /// 是否可售。 /// public bool IsActive { get; init; } }