parent
484ab104ab
commit
7a75025880
|
|
@ -51,6 +51,27 @@ namespace WGShare.API.Controllers
|
||||||
return await _sqlSugar.Queryable<User>().AnyAsync(x => x.IsDelete == false && x.Account == account && x.IsAnonymous == false);
|
return await _sqlSugar.Queryable<User>().AnyAsync(x => x.IsDelete == false && x.Account == account && x.IsAnonymous == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查用户是否在线
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="account"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("check-online"), AllowAnonymous]
|
||||||
|
public async Task<bool> CheckUserOnline([FromQuery] string account)
|
||||||
|
{
|
||||||
|
var user = await _sqlSugar.Queryable<User>().FirstAsync(x => x.IsDelete == false && x.Account == account && x.IsAnonymous == false);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var connectId = RedisHelper.Instance.HGet(RedisKeyConstant.SessionManage.GetOnlineUserKey(user.TenantId), user.Id);
|
||||||
|
if (!string.IsNullOrWhiteSpace(connectId))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 正常账号登录
|
/// 正常账号登录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -274,12 +274,18 @@ namespace WGShare.API.Hubs
|
||||||
{
|
{
|
||||||
var uname = Context.User?.Claims.FirstOrDefault(x => x.Type == "uname")?.Value;
|
var uname = Context.User?.Claims.FirstOrDefault(x => x.Type == "uname")?.Value;
|
||||||
var uid = Context.User?.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
|
var uid = Context.User?.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
|
||||||
|
var tenant = Context.Items["tenant"].ToString();
|
||||||
|
|
||||||
_logger.LogInformation($" {DateTime.Now}发送消息 uname:" + uname);
|
_logger.LogInformation($" {DateTime.Now} 发送消息 uname:{uname} roomNum:{rooNum} msg:{msg}");
|
||||||
_logger.LogInformation($" {DateTime.Now}发送消息 roomNum:" + rooNum);
|
|
||||||
_logger.LogInformation($" {DateTime.Now}发送消息 msg:" + msg);
|
|
||||||
|
|
||||||
await Clients.OthersInGroup(rooNum).ReceiveMessage(uid, uname, msg, DateTime.Now.GetTotalMilliseconds()); //await Clients.GroupExcept(rooNum, Context.ConnectionId).ReceiveMessage(uid, uname, msg);
|
var userInfo = RedisHelper.Instance.HGet<ChannelUserInfo>(RedisKeyConstant.SessionManage.GetChannelUserKey(tenant, rooNum), uid);
|
||||||
|
var userName = uname;
|
||||||
|
if (userInfo != null)
|
||||||
|
{
|
||||||
|
userName = userInfo.UserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
await Clients.OthersInGroup(rooNum).ReceiveMessage(uid, userName, msg, DateTime.Now.GetTotalMilliseconds()); //await Clients.GroupExcept(rooNum, Context.ConnectionId).ReceiveMessage(uid, uname, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,13 @@
|
||||||
<param name="account"></param>
|
<param name="account"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.AuthController.CheckUserOnline(System.String)">
|
||||||
|
<summary>
|
||||||
|
检查用户是否在线
|
||||||
|
</summary>
|
||||||
|
<param name="account"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:WGShare.API.Controllers.AuthController.Login(WGShare.Domain.DTOs.Login.UserLoginDTO)">
|
<member name="M:WGShare.API.Controllers.AuthController.Login(WGShare.Domain.DTOs.Login.UserLoginDTO)">
|
||||||
<summary>
|
<summary>
|
||||||
正常账号登录
|
正常账号登录
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue