Files
IM_NEW/MessageService.WebApi/Application/EventHandlers/UserProfileUpdateHandler.cs
T
2026-04-30 21:08:28 +08:00

31 lines
999 B
C#

using IM.Commons.IntegrationEvents;
using MassTransit;
using MessageService.Domain.IReposities;
using MessageService.Infrastructure;
namespace MessageService.WebApi.Application.EventHandlers
{
public class UserProfileUpdateHandler : IConsumer<UserProfileUpdateEvent>
{
private readonly MessageDbContext db;
private readonly IConversationReposity reposity;
public UserProfileUpdateHandler(MessageDbContext db, IConversationReposity reposity)
{
this.db = db;
this.reposity = reposity;
}
public async Task Consume(ConsumeContext<UserProfileUpdateEvent> context)
{
var @event = context.Message;
var conversations = await reposity.FindByTargetIdAsync(@event.UserId);
foreach (var conversation in conversations)
{
conversation.UpdateProfile(@event.NickName, @event.Avatar);
}
await db.SaveChangesAsync();
}
}
}