98 lines
2.2 KiB
C#
98 lines
2.2 KiB
C#
using System.Text.Json.Serialization;
|
||
using TakeoutSaaS.Domain.Tenants.Enums;
|
||
using TakeoutSaaS.Shared.Abstractions.Serialization;
|
||
|
||
namespace TakeoutSaaS.Application.App.Tenants.Dto;
|
||
|
||
/// <summary>
|
||
/// 租户套餐 DTO。
|
||
/// </summary>
|
||
public sealed class TenantPackageDto
|
||
{
|
||
/// <summary>
|
||
/// 套餐 ID。
|
||
/// </summary>
|
||
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
|
||
public long Id { get; init; }
|
||
|
||
/// <summary>
|
||
/// 套餐名称。
|
||
/// </summary>
|
||
public string Name { get; init; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 描述。
|
||
/// </summary>
|
||
public string? Description { get; init; }
|
||
|
||
/// <summary>
|
||
/// 套餐类型。
|
||
/// </summary>
|
||
public TenantPackageType PackageType { get; init; }
|
||
|
||
/// <summary>
|
||
/// 月付价格。
|
||
/// </summary>
|
||
public decimal? MonthlyPrice { get; init; }
|
||
|
||
/// <summary>
|
||
/// 年付价格。
|
||
/// </summary>
|
||
public decimal? YearlyPrice { get; init; }
|
||
|
||
/// <summary>
|
||
/// 最大门店数。
|
||
/// </summary>
|
||
public int? MaxStoreCount { get; init; }
|
||
|
||
/// <summary>
|
||
/// 最大账号数。
|
||
/// </summary>
|
||
public int? MaxAccountCount { get; init; }
|
||
|
||
/// <summary>
|
||
/// 存储上限(GB)。
|
||
/// </summary>
|
||
public int? MaxStorageGb { get; init; }
|
||
|
||
/// <summary>
|
||
/// 短信额度。
|
||
/// </summary>
|
||
public int? MaxSmsCredits { get; init; }
|
||
|
||
/// <summary>
|
||
/// 配送单上限。
|
||
/// </summary>
|
||
public int? MaxDeliveryOrders { get; init; }
|
||
|
||
/// <summary>
|
||
/// 权益明细 JSON。
|
||
/// </summary>
|
||
public string? FeaturePoliciesJson { get; init; }
|
||
|
||
/// <summary>
|
||
/// 是否仍启用(平台控制)。
|
||
/// </summary>
|
||
public bool IsActive { get; init; }
|
||
|
||
/// <summary>
|
||
/// 是否对外可见。
|
||
/// </summary>
|
||
public bool IsPublicVisible { get; init; }
|
||
|
||
/// <summary>
|
||
/// 是否允许新租户购买/选择。
|
||
/// </summary>
|
||
public bool IsAllowNewTenantPurchase { get; init; }
|
||
|
||
/// <summary>
|
||
/// 发布状态。
|
||
/// </summary>
|
||
public TenantPackagePublishStatus PublishStatus { get; init; }
|
||
|
||
/// <summary>
|
||
/// 展示排序,数值越小越靠前。
|
||
/// </summary>
|
||
public int SortOrder { get; init; }
|
||
}
|