添加项目文件。
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user