53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
namespace TakeoutSaaS.Application.App.Tenants.Dto;
|
||
|
||
/// <summary>
|
||
/// 套餐使用统计 DTO(订阅关联数量、使用租户数量)。
|
||
/// </summary>
|
||
public sealed class TenantPackageUsageDto
|
||
{
|
||
/// <summary>
|
||
/// 套餐 ID。
|
||
/// </summary>
|
||
public long TenantPackageId { get; init; }
|
||
|
||
/// <summary>
|
||
/// 当前有效订阅数量(以当前时间为准)。
|
||
/// </summary>
|
||
public int ActiveSubscriptionCount { get; init; }
|
||
|
||
/// <summary>
|
||
/// 当前使用租户数量(以当前时间为准,按租户去重)。
|
||
/// </summary>
|
||
public int ActiveTenantCount { get; init; }
|
||
|
||
/// <summary>
|
||
/// 历史总订阅记录数量(不含软删)。
|
||
/// </summary>
|
||
public int TotalSubscriptionCount { get; init; }
|
||
|
||
/// <summary>
|
||
/// MRR(Monthly Recurring Revenue)粗看:按“当前有效订阅数 × 套餐月付等效价”估算。
|
||
/// </summary>
|
||
public decimal Mrr { get; init; }
|
||
|
||
/// <summary>
|
||
/// ARR(Annual Recurring Revenue)粗看:按“当前有效订阅数 × 套餐年付等效价”估算。
|
||
/// </summary>
|
||
public decimal Arr { get; init; }
|
||
|
||
/// <summary>
|
||
/// 未来 7 天内到期的使用租户数量(按租户去重,以当前时间为准,口径:有效订阅)。
|
||
/// </summary>
|
||
public int ExpiringTenantCount7Days { get; init; }
|
||
|
||
/// <summary>
|
||
/// 未来 15 天内到期的使用租户数量(按租户去重,以当前时间为准,口径:有效订阅)。
|
||
/// </summary>
|
||
public int ExpiringTenantCount15Days { get; init; }
|
||
|
||
/// <summary>
|
||
/// 未来 30 天内到期的使用租户数量(按租户去重,以当前时间为准,口径:有效订阅)。
|
||
/// </summary>
|
||
public int ExpiringTenantCount30Days { get; init; }
|
||
}
|