🐛 Fixes of accounts mentioned messages unable to send

This commit is contained in:
2025-07-22 21:52:44 +08:00
parent 5f64236b59
commit be589aed1d
3 changed files with 27 additions and 2 deletions

View File

@@ -16,7 +16,8 @@ public partial class ChatController(
AppDatabase db,
ChatService cs,
ChatRoomService crs,
FileService.FileServiceClient files
FileService.FileServiceClient files,
AccountService.AccountServiceClient accounts
) : ControllerBase
{
public class MarkMessageReadRequest
@@ -213,8 +214,14 @@ public partial class ChatController(
.ToList();
if (mentioned.Count > 0)
{
var queryRequest = new LookupAccountBatchRequest();
queryRequest.Names.AddRange(mentioned);
var queryResponse = (await accounts.LookupAccountBatchAsync(queryRequest)).Accounts;
var mentionedId = queryResponse
.Select(a => Guid.Parse(a.Id))
.ToList();
var mentionedMembers = await db.ChatMembers
.Where(m => mentioned.Contains(m.Account.Name))
.Where(m => mentionedId.Contains(m.AccountId))
.Select(m => m.Id)
.ToListAsync();
message.MembersMentioned = mentionedMembers;