v3.4.6
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
using System.Net.Sockets;
|
||||
using System.Net.WebSockets;
|
||||
using Aop.Api.Domain;
|
||||
using System.Net.WebSockets;
|
||||
using JNPF.Common.Configuration;
|
||||
using JNPF.Common.Const;
|
||||
using JNPF.Common.Enums;
|
||||
@@ -76,6 +74,7 @@ public class IMHandler : WebSocketHandler
|
||||
client.LoginIpAddress = client.LoginIpAddress;
|
||||
client.Token = message.token;
|
||||
client.IsMobileDevice = message.mobileDevice;
|
||||
client.onlineTicket = claims.FirstOrDefault(e => e.Type == ClaimConst.OnlineTicket)?.Value;
|
||||
if (client.WebSocket.State != WebSocketState.Open) return;
|
||||
await OnConnected(client.ConnectionId, client);
|
||||
WebSocketConnectionManager.AddToTenant(client.ConnectionId, client.ConnectionConfig?.ConfigId);
|
||||
@@ -177,7 +176,8 @@ public class IMHandler : WebSocketHandler
|
||||
tenantId = client.ConnectionConfig.ConfigId,
|
||||
lastLoginPlatForm = client.LoginPlatForm,
|
||||
isMobileDevice = client.IsMobileDevice,
|
||||
token = message.token
|
||||
token = message.token,
|
||||
onlineTicket = client.onlineTicket
|
||||
});
|
||||
await SetOnlineUserList(client.ConnectionConfig.ConfigId, list);
|
||||
}
|
||||
@@ -201,7 +201,8 @@ public class IMHandler : WebSocketHandler
|
||||
tenantId = client.ConnectionConfig.ConfigId,
|
||||
lastLoginPlatForm = client.LoginPlatForm,
|
||||
isMobileDevice = client.IsMobileDevice,
|
||||
token = message.token
|
||||
token = message.token,
|
||||
onlineTicket = client.onlineTicket
|
||||
});
|
||||
await SetOnlineUserList(client.ConnectionConfig.ConfigId, list);
|
||||
}
|
||||
@@ -230,7 +231,8 @@ public class IMHandler : WebSocketHandler
|
||||
tenantId = client.ConnectionConfig.ConfigId,
|
||||
lastLoginPlatForm = client.LoginPlatForm,
|
||||
isMobileDevice = client.IsMobileDevice,
|
||||
token = message.token
|
||||
token = message.token,
|
||||
onlineTicket = client.onlineTicket
|
||||
});
|
||||
await SetOnlineUserList(client.ConnectionConfig.ConfigId, list);
|
||||
|
||||
@@ -263,10 +265,11 @@ public class IMHandler : WebSocketHandler
|
||||
}
|
||||
var unreadNoticeCount = await _sqlSugarClient.Queryable<MessageEntity, MessageReceiveEntity>((m, mr) => new JoinQueryInfos(JoinType.Left, m.Id == mr.MessageId)).Where((m, mr) => m.Type == 1 && m.DeleteMark == null && mr.UserId == client.UserId && mr.IsRead == 0).Select((m, mr) => new { mr.Id, mr.UserId, mr.IsRead, m.Type, m.DeleteMark }).CountAsync();
|
||||
var unreadMessageCount = await _sqlSugarClient.Queryable<MessageEntity, MessageReceiveEntity>((m, mr) => new JoinQueryInfos(JoinType.Left, m.Id == mr.MessageId)).Select((m, mr) => new { mr.Id, mr.UserId, mr.IsRead, m.Type, m.DeleteMark }).MergeTable().Where(x => x.Type == 2 && x.DeleteMark == null && x.UserId == client.UserId && x.IsRead == 0).CountAsync();
|
||||
var messageDefault = await _sqlSugarClient.Queryable<MessageEntity>().Where(x => x.DeleteMark == null && x.EnabledMark == 1).OrderBy(x => x.CreatorTime, OrderByType.Desc).FirstAsync();
|
||||
var unreadSystemMessageCount = await _sqlSugarClient.Queryable<MessageEntity, MessageReceiveEntity>((m, mr) => new JoinQueryInfos(JoinType.Left, m.Id == mr.MessageId)).Select((m, mr) => new { mr.Id, mr.UserId, mr.IsRead, m.Type, m.DeleteMark }).MergeTable().Where(x => x.Type == 3 && x.DeleteMark == null && x.UserId == client.UserId && x.IsRead == 0).CountAsync();
|
||||
var messageDefault = await _sqlSugarClient.Queryable<MessageEntity, MessageReceiveEntity>((m, mr) => new JoinQueryInfos(JoinType.Left, m.Id == mr.MessageId)).Where((m, mr) => m.DeleteMark == null && mr.UserId == client.UserId).OrderBy((m, mr) => m.LastModifyTime, OrderByType.Desc).FirstAsync();
|
||||
var messageDefaultText = messageDefault == null ? string.Empty : messageDefault.Title;
|
||||
var messageDefaultTime = messageDefault == null ? DateTime.Now : messageDefault.CreatorTime;
|
||||
await SendMessageAsync(client.ConnectionId, new { method = MessageSendType.initMessage.ToString(), onlineUserList, unreadNums, unreadNoticeCount, unreadMessageCount, messageDefaultText, messageDefaultTime }.ToJsonString());
|
||||
await SendMessageAsync(client.ConnectionId, new { method = MessageSendType.initMessage.ToString(), onlineUserList, unreadNums, unreadNoticeCount, unreadMessageCount, messageDefaultText, messageDefaultTime, unreadSystemMessageCount }.ToJsonString());
|
||||
|
||||
await SendMessageToTenantAsync(client.ConnectionConfig.ConfigId, new { method = MessageSendType.online.ToString(), userId = client.UserId }.ToJsonString(), client.ConnectionId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user