//using Microsoft.AspNetCore.SignalR; //namespace Admin.NET.Core.Service; ///// ///// 消息发送服务 ///// //[ApiDescriptionSettings(Name = "Message", Order = 100)] //[Route("api")] //public class SendMessageService : ISendMessageService, IDynamicApiController, ITransient //{ // private readonly ISysCacheService _sysCacheService; // private readonly IHubContext _chatHubContext; // public SendMessageService(ISysCacheService sysCacheService, // IHubContext chatHubContext) // { // _sysCacheService = sysCacheService; // _chatHubContext = chatHubContext; // } // /// // /// 发送消息给所有人 // /// // /// 发送标题 // /// 发送内容 // /// 消息类型 // /// // [HttpGet("sysMessage/allUser")] // public async Task SendMessageToAllUser(string title, string message, MessageTypeEnum type) // { // await _chatHubContext.Clients.All.ReceiveMessage(new { Title = title, Message = message, Messagetype = type }); // } // /// // /// 发送消息给除了发送人的其他人 // /// // /// 发送标题 // /// 发送内容 // /// 发送人 // /// 消息类型 // /// // [HttpGet("sysMessage/otherUser")] // public async Task SendMessageToOtherUser(string title, string message, MessageTypeEnum type, long userId) // { // var onlineuserlist = await _sysCacheService.GetAsync>(CommonConst.CACHE_KEY_ONLINE_USER); // var user = onlineuserlist.Where(x => x.UserId == userId).ToList(); // if (user != null) // { // await _chatHubContext.Clients.AllExcept(user[0].ConnectionId).ReceiveMessage(new { title = title, message = message, messagetype = type }); // } // } // /// // /// 发送消息给某个人 // /// // /// 发送标题 // /// 发送内容 // /// 接收人 // /// 消息类型 // /// // [HttpGet("sysMessage/user")] // public async Task SendMessageToUser(string title, string message, MessageTypeEnum type, long userId) // { // var onlineuserlist = await _sysCacheService.GetAsync>(CommonConst.CACHE_KEY_ONLINE_USER); // var user = onlineuserlist.Where(x => x.UserId == userId).ToList(); // if (user != null) // { // foreach (var item in user) // { // await _chatHubContext.Clients.Client(item.ConnectionId).ReceiveMessage(new { title = title, message = message, messagetype = type }); // } // } // } // /// // /// 发送消息给某些人 // /// // /// 发送标题 // /// 发送内容 // /// 接收人列表 // /// 消息类型 // /// // [HttpGet("sysMessage/users")] // public async Task SendMessageToUsers(string title, string message, MessageTypeEnum type, List userId) // { // var onlineuserlist = await _sysCacheService.GetAsync>(CommonConst.CACHE_KEY_ONLINE_USER); // var userlist = new List(); // foreach (var item in onlineuserlist) // { // if (userId.Contains(item.UserId)) // userlist.Add(item.ConnectionId); // } // await _chatHubContext.Clients.Clients(userlist).ReceiveMessage(new { Title = title, Message = message, Messagetype = type }); // } //}