fix: 修复公告过时警告并补齐用户权限

This commit is contained in:
2025-12-27 07:19:27 +08:00
parent caad541e2f
commit 04444c6554
16 changed files with 879 additions and 31 deletions

View File

@@ -58,8 +58,7 @@ public sealed class CreateTenantAnnouncementCommandHandler(
PublisherUserId = publisherUserId,
Status = AnnouncementStatus.Draft,
TargetType = request.TargetType.Trim(),
TargetParameters = request.TargetParameters,
IsActive = false
TargetParameters = request.TargetParameters
};
// 3. 持久化并返回 DTO

View File

@@ -42,7 +42,7 @@ public sealed class MarkAnnouncementAsReadCommandHandler(
// 2. 仅允许已发布且在有效期内的公告标记已读
var now = DateTime.UtcNow;
if (announcement.Status != AnnouncementStatus.Published || !announcement.IsActive)
if (announcement.Status != AnnouncementStatus.Published)
{
return null;
}

View File

@@ -56,7 +56,6 @@ public sealed class PublishAnnouncementCommandHandler(
announcement.Status = AnnouncementStatus.Published;
announcement.PublishedAt = DateTime.UtcNow;
announcement.RevokedAt = null;
announcement.IsActive = true;
announcement.RowVersion = request.RowVersion;
await announcementRepository.UpdateAsync(announcement, cancellationToken);

View File

@@ -50,7 +50,6 @@ public sealed class RevokeAnnouncementCommandHandler(
// 3. 撤销公告
announcement.Status = AnnouncementStatus.Revoked;
announcement.RevokedAt = DateTime.UtcNow;
announcement.IsActive = false;
announcement.RowVersion = request.RowVersion;
await announcementRepository.UpdateAsync(announcement, cancellationToken);

View File

@@ -49,7 +49,6 @@ public sealed class UpdateTenantAnnouncementCommandHandler(ITenantAnnouncementRe
announcement.Content = request.Content;
announcement.TargetType = string.IsNullOrWhiteSpace(request.TargetType) ? announcement.TargetType : request.TargetType.Trim();
announcement.TargetParameters = request.TargetParameters;
announcement.IsActive = false;
announcement.RowVersion = request.RowVersion;
// 4. 持久化

View File

@@ -1,5 +1,6 @@
using TakeoutSaaS.Application.App.Tenants.Dto;
using TakeoutSaaS.Domain.Tenants.Entities;
using TakeoutSaaS.Domain.Tenants.Enums;
namespace TakeoutSaaS.Application.App.Tenants;
@@ -193,7 +194,7 @@ internal static class TenantMapping
TargetType = announcement.TargetType,
TargetParameters = announcement.TargetParameters,
RowVersion = announcement.RowVersion,
IsActive = announcement.IsActive,
IsActive = announcement.Status == AnnouncementStatus.Published,
IsRead = isRead,
ReadAt = readAt
};