diff --git a/Src/Dlhis.Sys/Identity/Controllers/UsersController.cs b/Src/Dlhis.Sys/Identity/Controllers/UsersController.cs index a6076353..69e85c13 100644 --- a/Src/Dlhis.Sys/Identity/Controllers/UsersController.cs +++ b/Src/Dlhis.Sys/Identity/Controllers/UsersController.cs @@ -108,4 +108,14 @@ public class UsersController : ControllerBase { await _userService.ResetPasswordAsync(request); } + + /// + /// 用户解锁 + /// + /// + [HttpPost("unlock/{userId:int}")] + public async Task UnlockAsync(int userId) + { + await _userService.UnlockAsync(userId); + } } \ No newline at end of file diff --git a/Src/Dlhis.Sys/Identity/Services/IUserService.cs b/Src/Dlhis.Sys/Identity/Services/IUserService.cs index 6f114ba3..15da55fe 100644 --- a/Src/Dlhis.Sys/Identity/Services/IUserService.cs +++ b/Src/Dlhis.Sys/Identity/Services/IUserService.cs @@ -24,4 +24,7 @@ public interface IUserService : IScopeDependency Task ResetLoginTenantAsync(UserResetLoginTenantRequest request); Task ResetPasswordAsync(UserResetPasswordRequest request); + + + Task UnlockAsync(int userId); } \ No newline at end of file diff --git a/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs b/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs index 659af492..cdc40d3e 100644 --- a/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs +++ b/Src/Dlhis.Sys/Identity/Services/Implements/UserService.cs @@ -100,6 +100,17 @@ public class UserService : IUserService var user = await _identityDbContext.Queryable().Where(x => x.Id == request.UserId).Select().FirstAsync(); } + + public async Task UnlockAsync(int userId) + { + var user = await _identityDbContext.Queryable().SingleAsync(x => x.Id == userId); + user.ThrowIfNull("用户不存在"); + + user.LockoutEnd = null; + + await _identityDbContext.UpdateAsync(user); + } + public async Task> GetUserByIdsAsync(List ids) { return await _identityDbContext.Queryable()