feat: 租户账单公告通知接口

This commit is contained in:
2025-12-03 21:08:28 +08:00
parent 075906266a
commit 9fe7d9606d
47 changed files with 1522 additions and 4 deletions

View File

@@ -0,0 +1,45 @@
using TakeoutSaaS.Domain.Tenants.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Tenants.Entities;
/// <summary>
/// 租户公告。
/// </summary>
public sealed class TenantAnnouncement : MultiTenantEntityBase
{
/// <summary>
/// 公告标题。
/// </summary>
public string Title { get; set; } = string.Empty;
/// <summary>
/// 公告正文(可为 Markdown/HTML前端自行渲染
/// </summary>
public string Content { get; set; } = string.Empty;
/// <summary>
/// 公告类型。
/// </summary>
public TenantAnnouncementType AnnouncementType { get; set; } = TenantAnnouncementType.System;
/// <summary>
/// 展示优先级,数值越大越靠前。
/// </summary>
public int Priority { get; set; } = 0;
/// <summary>
/// 生效时间UTC
/// </summary>
public DateTime EffectiveFrom { get; set; } = DateTime.UtcNow;
/// <summary>
/// 失效时间UTC为空表示长期有效。
/// </summary>
public DateTime? EffectiveTo { get; set; }
/// <summary>
/// 是否启用。
/// </summary>
public bool IsActive { get; set; } = true;
}

View File

@@ -0,0 +1,24 @@
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Tenants.Entities;
/// <summary>
/// 租户公告已读记录。
/// </summary>
public sealed class TenantAnnouncementRead : MultiTenantEntityBase
{
/// <summary>
/// 公告 ID。
/// </summary>
public long AnnouncementId { get; set; }
/// <summary>
/// 已读用户 ID后台账号为空表示租户级已读。
/// </summary>
public long? UserId { get; set; }
/// <summary>
/// 已读时间。
/// </summary>
public DateTime ReadAt { get; set; } = DateTime.UtcNow;
}