添加项目文件。
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using IM.Commons.IntegrationEvents;
|
||||
using MassTransit;
|
||||
using MessageService.Domain.IReposities;
|
||||
using MessageService.Infrastructure;
|
||||
|
||||
namespace MessageService.WebApi.Application.EventHandlers
|
||||
{
|
||||
public class ConversationAddHandler : IConsumer<GroupMemberJoinedEvent>,
|
||||
IConsumer<FriendAddedEvent>
|
||||
{
|
||||
|
||||
private readonly IConversationReposity reposity;
|
||||
private readonly MessageDbContext messageDb;
|
||||
|
||||
public ConversationAddHandler(IConversationReposity reposity, MessageDbContext messageDb)
|
||||
{
|
||||
this.reposity = reposity;
|
||||
this.messageDb = messageDb;
|
||||
}
|
||||
|
||||
public async Task Consume(ConsumeContext<GroupMemberJoinedEvent> context)
|
||||
{
|
||||
var @event = context.Message;
|
||||
reposity.Create(new Domain.Entities.Conversation(
|
||||
userId: @event.UserId,
|
||||
targetId: @event.GroupId,
|
||||
targetAvatar: @event.Avatar,
|
||||
targetName: @event.GroupNickName,
|
||||
lastReadSequenceId: null,
|
||||
unreadCount:0,
|
||||
chatType: Domain.Enums.ChatType.GROUP,
|
||||
lastMessage: string.Empty
|
||||
));
|
||||
|
||||
await messageDb.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task Consume(ConsumeContext<FriendAddedEvent> context)
|
||||
{
|
||||
var @event = context.Message;
|
||||
reposity.Create(new Domain.Entities.Conversation(
|
||||
userId: @event.OwnerId,
|
||||
targetId: @event.TargetId,
|
||||
targetAvatar: @event.TargetAvatar,
|
||||
targetName: @event.TargetNickName,
|
||||
lastReadSequenceId: null,
|
||||
unreadCount: 0,
|
||||
chatType: Domain.Enums.ChatType.PRIVATE,
|
||||
lastMessage: string.Empty
|
||||
));
|
||||
|
||||
await messageDb.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user