This commit is contained in:
youngq 2025-01-21 14:52:47 +08:00
parent ac22e5097c
commit 9a7c0c61d0
2 changed files with 10 additions and 4 deletions

View File

@ -110,12 +110,12 @@ namespace WGShare.API.Controllers.Frontend
var users = RedisHelper.Instance.HVals<ChannelUserInfo>(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum));
var showUser = users.FirstOrDefault(x => x.RoleId == ((int)RoleEnums.Admin).ToString() || x.IsRoomManager || x.RoleId == ((int)RoleEnums.RoomManager).ToString());
if (showUser != null)
{
{
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum, showUser.UID);
await _hubContext.Clients.Group(inputDTO.RoomNum).ShowUser(showUser.UID, showUser.UserName, string.Empty, string.Empty);
}
else
{
{
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum, 0);
}
}
@ -124,7 +124,7 @@ namespace WGShare.API.Controllers.Frontend
// 取消显示用户,设置显示当前操作的管理员
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), inputDTO.RoomNum, UId);
await _hubContext.Clients.Group(inputDTO.RoomNum).ShowUser(UId, UserName, string.Empty, string.Empty);
}
}
}
await _hubContext.Clients.Group(inputDTO.RoomNum).ManagerRefresh(user, UId);
@ -396,6 +396,12 @@ namespace WGShare.API.Controllers.Frontend
[HttpPost("show-user")]
public async Task SetShowUser([FromQuery] string roomNum, [FromQuery] string uid, [FromQuery] string uname)
{
if (RedisHelper.Instance.HGet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), roomNum) == uid)
{
// 如果已经是全员观看他了,则不做处理
return;
}
// 设置房间全员观看用户
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), roomNum, uid);

View File

@ -45,7 +45,7 @@ namespace WGShare.API.Hubs
Console.WriteLine($"{DateTime.Now}连接成功 当前租户:{tenant} account{account} uid:{uid} connectId:{Context.ConnectionId}");
await ClearUserChannel(uid, tenant, account, ssid, false);
//await ClearUserChannel(uid, tenant, account, ssid, false);
// 存储在线信息
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetOnlineUserKey(tenant), uid, Context.ConnectionId);
}