This commit is contained in:
youngq 2024-08-20 13:48:23 +08:00
parent 561bc1ff95
commit 9fcab57b4b
6 changed files with 44 additions and 20 deletions

View File

@ -180,7 +180,7 @@ namespace WGShare.API.Controllers.Backend
memoryStream.Seek(0, SeekOrigin.Begin); memoryStream.Seek(0, SeekOrigin.Begin);
var fileName = $@"excel/{Regex.Replace(file.FileName, @"\.(xlsx|xls)$", "", RegexOptions.IgnoreCase)}_验证不通过_{DateTime.UtcNow.Ticks}.xlsx"; var fileName = $@"excel/{Regex.Replace(file.FileName, @"\.(xlsx|xls)$", "", RegexOptions.IgnoreCase)}_验证不通过_{DateTime.UtcNow.Ticks}.xlsx";
_ossHelper.UploadWithExpireTime(fileName, memoryStream, 1); _ossHelper.UploadWithExpireTime(fileName, memoryStream, 10);
var fileUrl = _ossHelper.GetAccessFileUrl(fileName, 1); var fileUrl = _ossHelper.GetAccessFileUrl(fileName, 1);
return Ok((isSuccess: false, url: fileUrl)); return Ok((isSuccess: false, url: fileUrl));

View File

@ -57,6 +57,7 @@ namespace WGShare.API.Controllers.Frontend
var list = await _sqlSugar.Queryable<Room>() var list = await _sqlSugar.Queryable<Room>()
.Where(x => x.TenantId == TenantId && x.IsDelete == false) .Where(x => x.TenantId == TenantId && x.IsDelete == false)
.OrderBy(x => x.Id, OrderByType.Desc)
.ToPageListAsync(dto.PageIndex, dto.PageSize, total); .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
var result = list.Adapt<List<RoomOutputDTO>>(); var result = list.Adapt<List<RoomOutputDTO>>();

View File

@ -69,18 +69,18 @@ namespace WGShare.API.Controllers.Frontend
throw Oops.Oh("用户已不在房间内!"); throw Oops.Oh("用户已不在房间内!");
} }
var entities = new RoomManager //var entities = new RoomManager
{ //{
RoomId = inputDTO.RoomId, // RoomId = inputDTO.RoomId,
UserId = inputDTO.UserId // UserId = inputDTO.UserId
}; //};
user.IsRoomManager = true; user.IsRoomManager = true;
await _sqlSugar.Storageable(entities) //await _sqlSugar.Storageable(entities)
.SplitInsert(x => !x.Any()) // .SplitInsert(x => !x.Any())
.ToStorage().AsInsertable.ExecuteCommandAsync(); // .ToStorage().AsInsertable.ExecuteCommandAsync();
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum), inputDTO.UserId, user); RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum), inputDTO.UserId, user);
@ -101,9 +101,9 @@ namespace WGShare.API.Controllers.Frontend
throw Oops.Oh("用户已不在房间内!"); throw Oops.Oh("用户已不在房间内!");
} }
await _sqlSugar.Deleteable<RoomManager>() //await _sqlSugar.Deleteable<RoomManager>()
.Where(x => x.RoomId == inputDTO.RoomId && x.UserId == inputDTO.UserId) // .Where(x => x.RoomId == inputDTO.RoomId && x.UserId == inputDTO.UserId)
.ExecuteCommandAsync(); // .ExecuteCommandAsync();
user.IsRoomManager = false; user.IsRoomManager = false;
RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum), inputDTO.UserId, user); RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum), inputDTO.UserId, user);
@ -161,6 +161,22 @@ namespace WGShare.API.Controllers.Frontend
#endregion #endregion
} }
/// <summary>
/// 查询房间中的单个用户信息
/// </summary>
/// <returns></returns>
[HttpGet("user/{uid}")]
public async Task<ChannelUserInfo> GetUser([FromQuery] string roomNum, [FromRoute] string uid)
{
var channelUser = RedisHelper.Instance.HGet<ChannelUserInfo>(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, roomNum), uid);
if (channelUser == null)
{
throw Oops.Oh("用户不在房间内!");
}
return channelUser;
}
/// <summary> /// <summary>
/// 检验房间是否存在 /// 检验房间是否存在
/// </summary> /// </summary>
@ -367,10 +383,10 @@ namespace WGShare.API.Controllers.Frontend
[HttpGet("join")] [HttpGet("join")]
public async Task JoinChannel([FromQuery] string roomNum, [FromQuery] bool enableMicr = false, [FromQuery] bool enableCamera = false) public async Task JoinChannel([FromQuery] string roomNum, [FromQuery] bool enableMicr = false, [FromQuery] bool enableCamera = false)
{ {
var isRoomManager = await _sqlSugar.Queryable<RoomManager>() //var isRoomManager = await _sqlSugar.Queryable<RoomManager>()
.InnerJoin<Room>((rm, r) => r.Id == rm.RoomId) // .InnerJoin<Room>((rm, r) => r.Id == rm.RoomId)
.Where((rm, r) => r.RoomNum == roomNum && rm.UserId == UId) // .Where((rm, r) => r.RoomNum == roomNum && rm.UserId == UId)
.AnyAsync(); // .AnyAsync();
var userInfo = new ChannelUserInfo var userInfo = new ChannelUserInfo
{ {
@ -383,7 +399,7 @@ namespace WGShare.API.Controllers.Frontend
ScreenShareId = ScreenShareId, ScreenShareId = ScreenShareId,
RoleId = RoleId, RoleId = RoleId,
RoleName = ((RoleEnums)RoleId.ToInt32()).GetDescription(), RoleName = ((RoleEnums)RoleId.ToInt32()).GetDescription(),
IsRoomManager = isRoomManager IsRoomManager = false
}; };
using (var pipe = RedisHelper.Instance.StartPipe()) using (var pipe = RedisHelper.Instance.StartPipe())
{ {

View File

@ -33,10 +33,10 @@ namespace WGShare.API.Controllers
/// 角色列表下拉框 /// 角色列表下拉框
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet("role-dp-list")] [HttpGet("role-dp-list"), AllowAnonymous]
public async Task<List<Role>> GetDropDownList() public async Task<List<Role>> GetDropDownList()
{ {
return await _sqlSugar.Queryable<Role>().Where(x => x.IsDelete == false).ToListAsync(); return await _sqlSugar.Queryable<Role>().Where(x => x.IsDelete == false).ToListAsync();
} }
} }
} }

View File

@ -14,7 +14,8 @@ namespace WGShare.API.ServiceConfigs
public void OnAuthorization(AuthorizationFilterContext context) public void OnAuthorization(AuthorizationFilterContext context)
{ {
if (context.HttpContext.User.Identity.IsAuthenticated if (context.HttpContext.User.Identity.IsAuthenticated
&& !context.HttpContext.GetEndpoint().Metadata.Any(x => x is Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute)) && !context.HttpContext.GetEndpoint().Metadata.Any(x => x is Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute)
&& context.HttpContext.Request.Path.StartsWithSegments("/be/"))
{ {
var uid = context.HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value; var uid = context.HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
if (string.IsNullOrWhiteSpace(uid)) if (string.IsNullOrWhiteSpace(uid))

View File

@ -115,6 +115,12 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WGShare.API.Controllers.Frontend.RoomController.GetUser(System.String,System.String)">
<summary>
查询房间中所有用户信息
</summary>
<returns></returns>
</member>
<member name="M:WGShare.API.Controllers.Frontend.RoomController.ExistsRoom(System.String)"> <member name="M:WGShare.API.Controllers.Frontend.RoomController.ExistsRoom(System.String)">
<summary> <summary>
检验房间是否存在 检验房间是否存在