using IM_API.Domain.Events; using IM_API.Dtos; using IM_API.Hubs; using IM_API.Interface.Services; using IM_API.Models; using MassTransit; using Microsoft.AspNetCore.SignalR; namespace IM_API.Application.EventHandlers.FriendAddHandler { public class FriendAddSignalRHandler : IConsumer { private readonly IHubContext _chathub; public FriendAddSignalRHandler(IHubContext chathub) { _chathub = chathub; } public async Task Consume(ConsumeContext context) { var @event = context.Message; var usersList = new List { @event.RequestUserId.ToString(), @event.ResponseUserId.ToString() }; var res = new HubResponse("Event", new MessageBaseDto() { ChatType = ChatType.PRIVATE, Content = "您有新的好友关系已添加", //MsgId = @event.EventId.ToString(), ReceiverId = @event.ResponseUserId, SenderId = @event.RequestUserId, TimeStamp = DateTime.Now }); await _chathub.Clients.Users(usersList).SendAsync("ReceiveMessage", res); } } }