diff --git a/WGShare.API/Controllers/Backend/UserController.cs b/WGShare.API/Controllers/Backend/UserController.cs index 3dbba68..0c8b604 100644 --- a/WGShare.API/Controllers/Backend/UserController.cs +++ b/WGShare.API/Controllers/Backend/UserController.cs @@ -180,7 +180,7 @@ namespace WGShare.API.Controllers.Backend memoryStream.Seek(0, SeekOrigin.Begin); 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); return Ok((isSuccess: false, url: fileUrl)); diff --git a/WGShare.API/Controllers/Frontend/HomeController.cs b/WGShare.API/Controllers/Frontend/HomeController.cs index 9f707ee..1bffb90 100644 --- a/WGShare.API/Controllers/Frontend/HomeController.cs +++ b/WGShare.API/Controllers/Frontend/HomeController.cs @@ -57,6 +57,7 @@ namespace WGShare.API.Controllers.Frontend var list = await _sqlSugar.Queryable() .Where(x => x.TenantId == TenantId && x.IsDelete == false) + .OrderBy(x => x.Id, OrderByType.Desc) .ToPageListAsync(dto.PageIndex, dto.PageSize, total); var result = list.Adapt>(); diff --git a/WGShare.API/Controllers/Frontend/RoomController.cs b/WGShare.API/Controllers/Frontend/RoomController.cs index a8452b1..6147726 100644 --- a/WGShare.API/Controllers/Frontend/RoomController.cs +++ b/WGShare.API/Controllers/Frontend/RoomController.cs @@ -69,18 +69,18 @@ namespace WGShare.API.Controllers.Frontend throw Oops.Oh("用户已不在房间内!"); } - var entities = new RoomManager - { - RoomId = inputDTO.RoomId, - UserId = inputDTO.UserId - }; + //var entities = new RoomManager + //{ + // RoomId = inputDTO.RoomId, + // UserId = inputDTO.UserId + //}; user.IsRoomManager = true; - await _sqlSugar.Storageable(entities) - .SplitInsert(x => !x.Any()) - .ToStorage().AsInsertable.ExecuteCommandAsync(); + //await _sqlSugar.Storageable(entities) + // .SplitInsert(x => !x.Any()) + // .ToStorage().AsInsertable.ExecuteCommandAsync(); RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum), inputDTO.UserId, user); @@ -101,9 +101,9 @@ namespace WGShare.API.Controllers.Frontend throw Oops.Oh("用户已不在房间内!"); } - await _sqlSugar.Deleteable() - .Where(x => x.RoomId == inputDTO.RoomId && x.UserId == inputDTO.UserId) - .ExecuteCommandAsync(); + //await _sqlSugar.Deleteable() + // .Where(x => x.RoomId == inputDTO.RoomId && x.UserId == inputDTO.UserId) + // .ExecuteCommandAsync(); user.IsRoomManager = false; RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, inputDTO.RoomNum), inputDTO.UserId, user); @@ -161,6 +161,22 @@ namespace WGShare.API.Controllers.Frontend #endregion } + /// + /// 查询房间中的单个用户信息 + /// + /// + [HttpGet("user/{uid}")] + public async Task GetUser([FromQuery] string roomNum, [FromRoute] string uid) + { + var channelUser = RedisHelper.Instance.HGet(RedisKeyConstant.SessionManage.GetChannelUserKey(TenantId, roomNum), uid); + if (channelUser == null) + { + throw Oops.Oh("用户不在房间内!"); + } + + return channelUser; + } + /// /// 检验房间是否存在 /// @@ -367,10 +383,10 @@ namespace WGShare.API.Controllers.Frontend [HttpGet("join")] public async Task JoinChannel([FromQuery] string roomNum, [FromQuery] bool enableMicr = false, [FromQuery] bool enableCamera = false) { - var isRoomManager = await _sqlSugar.Queryable() - .InnerJoin((rm, r) => r.Id == rm.RoomId) - .Where((rm, r) => r.RoomNum == roomNum && rm.UserId == UId) - .AnyAsync(); + //var isRoomManager = await _sqlSugar.Queryable() + // .InnerJoin((rm, r) => r.Id == rm.RoomId) + // .Where((rm, r) => r.RoomNum == roomNum && rm.UserId == UId) + // .AnyAsync(); var userInfo = new ChannelUserInfo { @@ -383,7 +399,7 @@ namespace WGShare.API.Controllers.Frontend ScreenShareId = ScreenShareId, RoleId = RoleId, RoleName = ((RoleEnums)RoleId.ToInt32()).GetDescription(), - IsRoomManager = isRoomManager + IsRoomManager = false }; using (var pipe = RedisHelper.Instance.StartPipe()) { diff --git a/WGShare.API/Controllers/PublicController.cs b/WGShare.API/Controllers/PublicController.cs index 7cdeb23..2cbcdd4 100644 --- a/WGShare.API/Controllers/PublicController.cs +++ b/WGShare.API/Controllers/PublicController.cs @@ -33,10 +33,10 @@ namespace WGShare.API.Controllers /// 角色列表下拉框 /// /// - [HttpGet("role-dp-list")] + [HttpGet("role-dp-list"), AllowAnonymous] public async Task> GetDropDownList() { return await _sqlSugar.Queryable().Where(x => x.IsDelete == false).ToListAsync(); - } + } } } diff --git a/WGShare.API/ServiceConfigs/AuthonizationFilter.cs b/WGShare.API/ServiceConfigs/AuthonizationFilter.cs index 478b2f0..49b51d2 100644 --- a/WGShare.API/ServiceConfigs/AuthonizationFilter.cs +++ b/WGShare.API/ServiceConfigs/AuthonizationFilter.cs @@ -14,7 +14,8 @@ namespace WGShare.API.ServiceConfigs public void OnAuthorization(AuthorizationFilterContext context) { 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; if (string.IsNullOrWhiteSpace(uid)) diff --git a/WGShare.API/WGShare.API.xml b/WGShare.API/WGShare.API.xml index ca05577..6fcaf48 100644 --- a/WGShare.API/WGShare.API.xml +++ b/WGShare.API/WGShare.API.xml @@ -115,6 +115,12 @@ + + + 查询房间中所有用户信息 + + + 检验房间是否存在