101 lines
2.8 KiB
C#
101 lines
2.8 KiB
C#
using TakeoutSaaS.Domain.Tenants.Enums;
|
||
using TakeoutSaaS.Shared.Abstractions.Entities;
|
||
|
||
namespace TakeoutSaaS.Domain.Tenants.Entities;
|
||
|
||
/// <summary>
|
||
/// 平台提供的租户套餐定义。
|
||
/// </summary>
|
||
public sealed class TenantPackage : AuditableEntityBase
|
||
{
|
||
/// <summary>
|
||
/// 套餐名称,展示给租户的简称。
|
||
/// </summary>
|
||
public string Name { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 套餐描述,包含适用场景、权益等。
|
||
/// </summary>
|
||
public string? Description { get; set; }
|
||
|
||
/// <summary>
|
||
/// 套餐分类(试用、标准、旗舰等)。
|
||
/// </summary>
|
||
public TenantPackageType PackageType { get; set; } = TenantPackageType.Standard;
|
||
|
||
/// <summary>
|
||
/// 月付价格,单位:人民币元。
|
||
/// </summary>
|
||
public decimal? MonthlyPrice { get; set; }
|
||
|
||
/// <summary>
|
||
/// 年付价格,单位:人民币元。
|
||
/// </summary>
|
||
public decimal? YearlyPrice { get; set; }
|
||
|
||
/// <summary>
|
||
/// 允许的最大门店数。
|
||
/// </summary>
|
||
public int? MaxStoreCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 允许创建的最大账号数。
|
||
/// </summary>
|
||
public int? MaxAccountCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// 存储容量上限(GB)。
|
||
/// </summary>
|
||
public int? MaxStorageGb { get; set; }
|
||
|
||
/// <summary>
|
||
/// 每月短信额度上限。
|
||
/// </summary>
|
||
public int? MaxSmsCredits { get; set; }
|
||
|
||
/// <summary>
|
||
/// 每月可调用的配送单数量上限。
|
||
/// </summary>
|
||
public int? MaxDeliveryOrders { get; set; }
|
||
|
||
/// <summary>
|
||
/// 权益明细 JSON,记录自定义特性开关。
|
||
/// </summary>
|
||
public string? FeaturePoliciesJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否仍启用(平台控制)。
|
||
/// </summary>
|
||
public bool IsActive { get; set; } = true;
|
||
|
||
/// <summary>
|
||
/// 是否对外可见(展示页/套餐列表可见性)。
|
||
/// </summary>
|
||
public bool IsPublicVisible { get; set; } = true;
|
||
|
||
/// <summary>
|
||
/// 是否允许新租户购买/选择(仅影响新购,不影响已订阅租户)。
|
||
/// </summary>
|
||
public bool IsAllowNewTenantPurchase { get; set; } = true;
|
||
|
||
/// <summary>
|
||
/// 发布状态(草稿/已发布)。
|
||
/// </summary>
|
||
public TenantPackagePublishStatus PublishStatus { get; set; } = TenantPackagePublishStatus.Draft;
|
||
|
||
/// <summary>
|
||
/// 是否推荐展示(运营推荐标识)。
|
||
/// </summary>
|
||
public bool IsRecommended { get; set; }
|
||
|
||
/// <summary>
|
||
/// 套餐标签(用于展示与对比页,如:推荐/性价比/旗舰)。
|
||
/// </summary>
|
||
public string[] Tags { get; set; } = [];
|
||
|
||
/// <summary>
|
||
/// 展示排序,数值越小越靠前。
|
||
/// </summary>
|
||
public int SortOrder { get; set; } = 0;
|
||
}
|