fix: 修复公告过时警告并补齐用户权限
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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. 持久化
|
||||
|
||||
@@ -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
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user