docs: add xml comments for tenant modules

This commit is contained in:
2025-12-03 22:56:35 +08:00
parent 83c81d5fd1
commit bf88f0e041
28 changed files with 661 additions and 40 deletions

View File

@@ -9,27 +9,60 @@ namespace TakeoutSaaS.Application.App.Tenants.Dto;
/// </summary>
public sealed class TenantAnnouncementDto
{
/// <summary>
/// 公告 ID雪花算法序列化为字符串
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long Id { get; init; }
/// <summary>
/// 租户 ID雪花算法序列化为字符串
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long TenantId { get; init; }
/// <summary>
/// 公告标题。
/// </summary>
public string Title { get; init; } = string.Empty;
/// <summary>
/// 公告正文内容。
/// </summary>
public string Content { get; init; } = string.Empty;
/// <summary>
/// 公告类型。
/// </summary>
public TenantAnnouncementType AnnouncementType { get; init; }
/// <summary>
/// 优先级,数值越大越靠前。
/// </summary>
public int Priority { get; init; }
/// <summary>
/// 生效开始时间UTC
/// </summary>
public DateTime EffectiveFrom { get; init; }
/// <summary>
/// 生效结束时间UTC为空则长期有效。
/// </summary>
public DateTime? EffectiveTo { get; init; }
/// <summary>
/// 是否启用。
/// </summary>
public bool IsActive { get; init; }
/// <summary>
/// 当前用户是否已读。
/// </summary>
public bool IsRead { get; init; }
/// <summary>
/// 已读时间UTC
/// </summary>
public DateTime? ReadAt { get; init; }
}

View File

@@ -9,25 +9,55 @@ namespace TakeoutSaaS.Application.App.Tenants.Dto;
/// </summary>
public sealed class TenantBillingDto
{
/// <summary>
/// 账单 ID雪花算法序列化为字符串
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long Id { get; init; }
/// <summary>
/// 租户 ID雪花算法序列化为字符串
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long TenantId { get; init; }
/// <summary>
/// 账单编号。
/// </summary>
public string StatementNo { get; init; } = string.Empty;
/// <summary>
/// 计费周期开始时间UTC
/// </summary>
public DateTime PeriodStart { get; init; }
/// <summary>
/// 计费周期结束时间UTC
/// </summary>
public DateTime PeriodEnd { get; init; }
/// <summary>
/// 应付金额。
/// </summary>
public decimal AmountDue { get; init; }
/// <summary>
/// 已付金额。
/// </summary>
public decimal AmountPaid { get; init; }
/// <summary>
/// 账单状态。
/// </summary>
public TenantBillingStatus Status { get; init; }
/// <summary>
/// 到期日UTC
/// </summary>
public DateTime DueDate { get; init; }
/// <summary>
/// 账单明细 JSON。
/// </summary>
public string? LineItemsJson { get; init; }
}

View File

@@ -9,23 +9,50 @@ namespace TakeoutSaaS.Application.App.Tenants.Dto;
/// </summary>
public sealed class TenantNotificationDto
{
/// <summary>
/// 通知 ID雪花算法序列化为字符串
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long Id { get; init; }
/// <summary>
/// 租户 ID雪花算法序列化为字符串
/// </summary>
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long TenantId { get; init; }
/// <summary>
/// 通知标题。
/// </summary>
public string Title { get; init; } = string.Empty;
/// <summary>
/// 通知内容。
/// </summary>
public string Message { get; init; } = string.Empty;
/// <summary>
/// 通道类型(如站内信、短信、邮件)。
/// </summary>
public TenantNotificationChannel Channel { get; init; }
/// <summary>
/// 通知等级。
/// </summary>
public TenantNotificationSeverity Severity { get; init; }
/// <summary>
/// 发送时间UTC
/// </summary>
public DateTime SentAt { get; init; }
/// <summary>
/// 阅读时间UTC
/// </summary>
public DateTime? ReadAt { get; init; }
/// <summary>
/// 附加元数据 JSON。
/// </summary>
public string? MetadataJson { get; init; }
}