Skip to content

Commit 259b1d6

Browse files
committed
feat: 添加通过用户名查找用户接口
1 parent 1d0d45b commit 259b1d6

File tree

7 files changed

+38
-4
lines changed

7 files changed

+38
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace Lion.AbpPro.BasicManagement.Users.Dtos;
2+
3+
public class FindByUserNameInput
4+
{
5+
public string UserName { get; set; }
6+
}

aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IUserAppService.cs

+7-2
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public interface IUserAppService : IApplicationService
1616
/// 分页查询用户
1717
/// </summary>
1818
Task<List<IdentityUserDto>> ListAllAsync(PagingUserListInput input);
19-
19+
2020
/// <summary>
2121
/// 用户导出列表
2222
/// </summary>
2323
Task<ActionResult> ExportAsync(PagingUserListInput input);
24-
24+
2525
/// <summary>
2626
/// 新增用户
2727
/// </summary>
@@ -52,5 +52,10 @@ public interface IUserAppService : IApplicationService
5252
/// 锁定用户
5353
/// </summary>
5454
Task LockAsync(LockUserInput input);
55+
56+
/// <summary>
57+
/// 通过username获取用户信息
58+
/// </summary>
59+
Task<IdentityUserDto> FindByUserNameAsync(FindByUserNameInput input);
5560
}
5661
}

aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs

+13
Original file line numberDiff line numberDiff line change
@@ -167,5 +167,18 @@ public virtual async Task LockAsync(LockUserInput input)
167167
identityUser.SetIsActive(input.Locked);
168168
await _userManager.UpdateAsync(identityUser);
169169
}
170+
171+
/// <summary>
172+
/// 通过username获取用户信息
173+
/// </summary>
174+
public virtual async Task<IdentityUserDto> FindByUserNameAsync(FindByUserNameInput input)
175+
{
176+
var user = await _userManager.FindByNameAsync(input.UserName);
177+
if (user == null)
178+
{
179+
throw new BusinessException(BasicManagementErrorCodes.UserNotExist);
180+
}
181+
return ObjectMapper.Map<Volo.Abp.Identity.IdentityUser, IdentityUserDto>(user);
182+
}
170183
}
171184
}

aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementErrorCodes.cs

+1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ public static class BasicManagementErrorCodes
88
public const string UserDisabled = BasicManagementConsts.NameSpace + ":100004";
99
public const string TenantNotExist = BasicManagementConsts.NameSpace + ":100005";
1010
public const string NotSupportSetConnectionString = BasicManagementConsts.NameSpace + ":100006";
11+
public const string UserNotExist = BasicManagementConsts.NameSpace + ":100007";
1112
}

aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/en.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"Lion.AbpPro.BasicManagement:100003": "UserOrPasswordMismatch",
2323
"Lion.AbpPro.BasicManagement:100004": "UserDisabled",
2424
"Lion.AbpPro.BasicManagement:100005": "Tenant Not Exist",
25-
"Lion.AbpPro.BasicManagement:100006": "Not Support Set ConnectionString"
25+
"Lion.AbpPro.BasicManagement:100006": "Not Support Set ConnectionString",
26+
"Lion.AbpPro.BasicManagement:100007": "User Not Exist"
2627
}
2728
}

aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/Localization/BasicManagement/zh-Hans.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"Lion.AbpPro.BasicManagement:100003": "用户名或者密码错误",
2323
"Lion.AbpPro.BasicManagement:100004": "用户已禁用",
2424
"Lion.AbpPro.BasicManagement:100005": "租户不存在",
25-
"Lion.AbpPro.BasicManagement:100006": "当前模块不支持设置数据库连接字符串"
25+
"Lion.AbpPro.BasicManagement:100006": "当前模块不支持设置数据库连接字符串",
26+
"Lion.AbpPro.BasicManagement:100007": "用户不存在"
2627
}
2728
}

aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.HttpApi/Systems/UserController.cs

+7
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,12 @@ public Task LockAsync(LockUserInput input)
7777
{
7878
return _userAppService.LockAsync(input);
7979
}
80+
81+
[HttpPost("findByUserName")]
82+
[SwaggerOperation(summary: "通过用户名查找用户", Tags = new[] { "Users" })]
83+
public Task<IdentityUserDto> FindByUserNameAsync(FindByUserNameInput input)
84+
{
85+
return _userAppService.FindByUserNameAsync(input);
86+
}
8087
}
8188
}

0 commit comments

Comments
 (0)