| | |
| | | using Dapper; |
| | | using Microsoft.AspNet.SignalR; |
| | | using Microsoft.AspNet.SignalR.Hubs; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | |
| | | |
| | | namespace VueWebApi.Hubs |
| | | { |
| | | /// <summary> |
| | | /// chatHub集线器类 |
| | | /// </summary> |
| | | [HubName("chatHub")] |
| | | public class ChatHub : Hub |
| | | { |
| | | /// <summary> |
| | |
| | | /// <param name="json"></param> |
| | | public void SendByGroupList(string username,string wkshpcode, string eqpcode, List<AnDnDate> json) |
| | | { |
| | | for (int i = 0; i < json.Count; i++) |
| | | try |
| | | { |
| | | string cont = wkshpcode + "对应设备" + eqpcode + json[i].name.ToString(); |
| | | var departmentIDs = json[i].children.ToList().Select(x => x.username).ToList();//获取推送人员 |
| | | var FindPublicBaseDic = _connections.Where(d => departmentIDs.Contains(d.Key)).Select(x => x.Value).ToList(); //匹配已经登录的推送人员唯一码 |
| | | var FindPublicBaseDicName = _connections.Where(d => FindPublicBaseDic.Contains(d.Value)).Select(x => x.Key).ToList(); //根据唯一码匹配已经登录的推送人员名称 |
| | | Clients.Clients(FindPublicBaseDic).SendMessage("来自用户:" + username +" 内容:" + cont + "时间" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "的消息通知!"); |
| | | for (int i = 0; i < json.Count; i++) |
| | | { |
| | | string cont = wkshpcode + "对应设备" + eqpcode + json[i].name.ToString(); |
| | | var departmentIDs = json[i].children.ToList().Select(x => x.username).ToList();//获取推送人员 |
| | | var FindPublicBaseDic = _connections.Where(d => departmentIDs.Contains(d.Key)).Select(x => x.Value).ToList(); //匹配已经登录的推送人员唯一码 |
| | | LogHelper.WriteLogData("在线人数:"+FindPublicBaseDic.Count.ToString()); |
| | | var FindPublicBaseDicName = _connections.Where(d => FindPublicBaseDic.Contains(d.Value)).Select(x => x.Key).ToList(); //根据唯一码匹配已经登录的推送人员名称 |
| | | LogHelper.WriteLogData("在线人人员名称:" + FindPublicBaseDicName.ToString()); |
| | | Clients.Clients(FindPublicBaseDic).SendMessage("来自用户:" + username + " 内容:" + cont + "时间" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "的消息通知!"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.WriteLogData("报错:"+ex.Message); |
| | | throw; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | //每次登陆id会发生变化 |
| | | _connections[name] = Context.ConnectionId; |
| | | LogHelper.WriteLogData("执行关联:-->" + _connections[name]); |
| | | } |
| | | //新用户上线,服务器广播该用户名 |
| | | Clients.All.loginUser(userList); |