🐛 Trying to fix bugs...

This commit is contained in:
2025-05-31 13:18:17 +08:00
parent b8c15bde1a
commit 6965744d5a
5 changed files with 39 additions and 29 deletions

View File

@ -275,13 +275,12 @@ public class PostService(
public async Task<List<Post>> LoadPublishers(List<Post> posts)
{
var publisherIds = posts
.Where(e => e.Publisher.AccountId != null)
.SelectMany<Post, Guid?>(e =>
[
e.Publisher.Id,
e.RepliedPost?.Publisher.Id,
e.ForwardedPost?.Publisher.Id,
e.ThreadedPost?.Publisher.Id
e.PublisherId,
e.RepliedPost?.PublisherId,
e.ForwardedPost?.PublisherId,
e.ThreadedPost?.PublisherId
])
.Where(e => e != null)
.Distinct()
@ -289,24 +288,24 @@ public class PostService(
if (publisherIds.Count == 0) return posts;
var publishers = await db.Publishers
.Where(e => e.AccountId != null && publisherIds.Contains(e.AccountId.Value))
.ToDictionaryAsync(e => e.AccountId!.Value);
.Where(e => publisherIds.Contains(e.Id))
.ToDictionaryAsync(e => e.Id);
foreach (var post in posts)
{
if (publishers.TryGetValue(post.Publisher.Id, out var publisher))
if (publishers.TryGetValue(post.PublisherId, out var publisher))
post.Publisher = publisher;
if (post.RepliedPost?.Publisher.Id != null &&
publishers.TryGetValue(post.RepliedPost.Publisher.Id, out var repliedPublisher))
if (post.RepliedPost?.PublisherId != null &&
publishers.TryGetValue(post.RepliedPost.PublisherId, out var repliedPublisher))
post.RepliedPost.Publisher = repliedPublisher;
if (post.ForwardedPost?.Publisher.Id != null &&
publishers.TryGetValue(post.ForwardedPost.Publisher.Id, out var forwardedPublisher))
if (post.ForwardedPost?.PublisherId != null &&
publishers.TryGetValue(post.ForwardedPost.PublisherId, out var forwardedPublisher))
post.ForwardedPost.Publisher = forwardedPublisher;
if (post.ThreadedPost?.Publisher.Id != null &&
publishers.TryGetValue(post.ThreadedPost.Publisher.Id, out var threadedPublisher))
if (post.ThreadedPost?.PublisherId != null &&
publishers.TryGetValue(post.ThreadedPost.PublisherId, out var threadedPublisher))
post.ThreadedPost.Publisher = threadedPublisher;
}