Skip to content

Commit d410565

Browse files
committed
新增自动API控制器
1 parent da3d407 commit d410565

File tree

7 files changed

+45
-79
lines changed

7 files changed

+45
-79
lines changed

Best Practices/Lemon.Account/src/Lemon.Account.Application.Contracts/Users/IUserService.cs

+8-12
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ public interface IUserService
88
{
99
Task<UserDto> CreateAsync(CreateUserDto data);
1010

11-
Task<UserDto> GetAsync(Guid userId);
11+
Task<UserDto> GetAsync(Guid id);
1212

13-
PagedResultDto<UserDto> GetByPage(int pageIndex,
13+
PagedResultDto<UserDto> Get(int pageIndex,
1414
int pageSize, string name = null, string account = null,
1515
string email = null, string mobile= null);
1616

@@ -22,21 +22,17 @@ PagedResultDto<UserDto> GetByPage(int pageIndex,
2222

2323
Task<UserDto> GetByAccountAsync(string account);
2424

25-
Task<UserDto> SelfModifyMobileAsync(SelfModifyMobileDto data);
25+
Task<UserDto> UpdateMobileAsync(SelfModifyMobileDto data);
2626

27-
Task<UserDto> SelfModifyEmailAsync(SelfModifyEmailDto data);
27+
Task<UserDto> UpdateEmailAsync(SelfModifyEmailDto data);
2828

29-
Task<UserDto> UpdateUserHeadIconAsync(SelfModifyHeadIconDto data);
30-
31-
Task<UserDto> UpdateUserPasswordAsync(UpdateUserPasswordDto data);
29+
Task<UserDto> UpdateHeadIconAsync(SelfModifyHeadIconDto data);
3230

33-
Task<UserDto> SelfModifyPasswordAsync(SelfModifyPasswordDto data);
34-
35-
Task<UserDto> UpdateUserRoleAsync(UpdateUserRoleDto data);
31+
Task<UserDto> UpdatePasswordAsync(SelfModifyPasswordDto data);
3632

37-
Task<UserDto> VerifyPasswordAsync(VerifyPasswordDto data);
33+
Task<UserDto> VerifyAsync(VerifyPasswordDto data);
3834

39-
Task<UserDto> UpdateUserAsync(Guid id, UpdateUserDto data);
35+
Task<UserDto> UpdateAsync(Guid id, UpdateUserDto data);
4036

4137
}
4238
}

Best Practices/Lemon.Account/src/Lemon.Account.Application/Services/PermissionService.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public async Task DeleteAsync(Guid id)
3434

3535
public async Task<PermissionDto> GetAsync(Guid id)
3636
{
37-
var data = await _permissionRepository.FindAsync(x => x.Id == id);
37+
var data = await _permissionRepository.GetAsync(x => x.Id == id);
3838
return ObjectMapper.Map<PermissionData, PermissionDto>(data);
3939
}
4040

@@ -46,7 +46,7 @@ public async Task<List<PermissionDto>> GetAsync()
4646

4747
public async Task<PermissionDto> UpdateAsync(Guid id, UpdatePermissionDto data)
4848
{
49-
var permissionData = await _permissionRepository.FindAsync(x => x.Id == id);
49+
var permissionData = await _permissionRepository.GetAsync(x => x.Id == id);
5050
permissionData.Name = data.Name;
5151
permissionData.Permission = data.Permission;
5252
var result = await _permissionRepository.UpdateAsync(permissionData);

Best Practices/Lemon.Account/src/Lemon.Account.Application/Services/RoleService.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public async Task<RoleDto> Get(Guid id)
4646

4747
public async Task<RoleDto> UpdateAsync(Guid id ,UpdateRoleDto data)
4848
{
49-
var roleData = await _roleRepository.FindAsync(x => x.Id == id);
49+
var roleData = await _roleRepository.GetAsync(id);
5050
roleData.Name = data.Name;
5151
var result = await _roleRepository.UpdateAsync(roleData);
5252
return ObjectMapper.Map<RoleData, RoleDto>(roleData);

Best Practices/Lemon.Account/src/Lemon.Account.Application/Services/UserService.cs

+17-54
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ public async Task<UserDto> CreateAsync(CreateUserDto data)
3131
return ObjectMapper.Map<UserData, UserDto>(userData);
3232
}
3333

34-
public async Task<UserDto> GetAsync(Guid userId)
34+
public async Task<UserDto> GetAsync(Guid id)
3535
{
36-
var userData = await _userRepository.GetAsync(userId);
36+
var userData = await _userRepository.GetAsync(id);
3737
return ObjectMapper.Map<UserData, UserDto>(userData);
3838
}
3939

40-
public PagedResultDto<UserDto> GetByPage(int pageIndex, int pageSize, string name = null,
40+
public PagedResultDto<UserDto> Get(int pageIndex, int pageSize, string name = null,
4141
string account = null, string email = null, string mobile = null)
4242
{
4343
var queryable = _userRepository.WithDetails();
@@ -78,70 +78,47 @@ public async Task DeleteAsync(Guid id)
7878

7979
public async Task<UserDto> GetByMobileAsync(string mobile)
8080
{
81-
var userData = await _userRepository.FindAsync(x=> x.Mobile == mobile);
82-
if (userData == null) return null;
83-
var userDataDto = ObjectMapper.Map<UserData, UserDto>(userData);
84-
return userDataDto;
81+
var userData = await _userRepository.GetAsync(x=> x.Mobile == mobile);
82+
return ObjectMapper.Map<UserData, UserDto>(userData);
8583
}
8684

8785
public async Task<UserDto> GetByEmailAsync(string email)
8886
{
89-
var userData = await _userRepository.FindAsync(x=> x.Email == email);
90-
if (userData == null) return null;
91-
var userDataDto = ObjectMapper.Map<UserData, UserDto>(userData);
92-
return userDataDto;
87+
var userData = await _userRepository.GetAsync(x=> x.Email == email);
88+
return ObjectMapper.Map<UserData, UserDto>(userData);
9389
}
9490

9591
public async Task<UserDto> GetByAccountAsync(string account)
9692
{
97-
var userData = await _userRepository.FindAsync(x=> x.Account == account);
98-
if (userData == null) return null;
99-
var userDataDto = ObjectMapper.Map<UserData, UserDto>(userData);
100-
return userDataDto;
93+
var userData = await _userRepository.GetAsync(x=> x.Account == account);
94+
return ObjectMapper.Map<UserData, UserDto>(userData);
10195
}
10296

103-
public async Task<UserDto> SelfModifyMobileAsync(SelfModifyMobileDto data)
97+
public async Task<UserDto> UpdateMobileAsync(SelfModifyMobileDto data)
10498
{
10599
var userData = await _userRepository.GetAsync(x => x.Id == CurrentUser.Id);
106100
userData.Mobile = data.Mobile;
107-
userData.LastModifierId = CurrentUser.Id;
108-
userData.LastModificationTime = DateTime.Now;
109101
var result = await _userRepository.UpdateAsync(userData);
110102
return ObjectMapper.Map<UserData, UserDto>(result);
111103
}
112104

113-
public async Task<UserDto> SelfModifyEmailAsync(SelfModifyEmailDto data)
105+
public async Task<UserDto> UpdateEmailAsync(SelfModifyEmailDto data)
114106
{
115107
var userData = await _userRepository.GetAsync(x => x.Id == CurrentUser.Id);
116108
userData.Email = data.Email;
117-
userData.LastModifierId = CurrentUser.Id;
118-
userData.LastModificationTime = DateTime.Now;
119-
var result = await _userRepository.UpdateAsync(userData);
120-
return ObjectMapper.Map<UserData, UserDto>(result); }
121-
122-
public async Task<UserDto> UpdateUserHeadIconAsync(SelfModifyHeadIconDto data)
123-
{
124-
var userData = await _userRepository.GetAsync(x => x.Id == CurrentUser.Id);
125-
userData.HeadIcon = data.HeadIcon;
126-
userData.LastModifierId = CurrentUser.Id;
127-
userData.LastModificationTime = DateTime.Now;
128109
var result = await _userRepository.UpdateAsync(userData);
129110
return ObjectMapper.Map<UserData, UserDto>(result);
130111
}
131112

132-
public async Task<UserDto> UpdateUserPasswordAsync(UpdateUserPasswordDto data)
113+
public async Task<UserDto> UpdateHeadIconAsync(SelfModifyHeadIconDto data)
133114
{
134-
var userData = _userRepository.WithDetails().FirstOrDefault(x => x.Id == data.UserId);
135-
if(userData == null) return null;
136-
137-
userData.UpdatePassword(data.Password);
138-
userData.LastModifierId = CurrentUser.Id;
139-
userData.LastModificationTime = DateTime.Now;
115+
var userData = await _userRepository.GetAsync(x => x.Id == CurrentUser.Id);
116+
userData.HeadIcon = data.HeadIcon;
140117
var result = await _userRepository.UpdateAsync(userData);
141118
return ObjectMapper.Map<UserData, UserDto>(result);
142119
}
143120

144-
public async Task<UserDto> SelfModifyPasswordAsync(SelfModifyPasswordDto data)
121+
public async Task<UserDto> UpdatePasswordAsync(SelfModifyPasswordDto data)
145122
{
146123
var userData = _userRepository.WithDetails().FirstOrDefault(x => x.Id == CurrentUser.Id);
147124
if(userData == null) return null;
@@ -152,25 +129,11 @@ public async Task<UserDto> SelfModifyPasswordAsync(SelfModifyPasswordDto data)
152129
}
153130

154131
userData.UpdatePassword(data.Password);
155-
userData.LastModifierId = CurrentUser.Id;
156-
userData.LastModificationTime = DateTime.Now;
157-
var result = await _userRepository.UpdateAsync(userData);
158-
return ObjectMapper.Map<UserData, UserDto>(result);
159-
}
160-
161-
public async Task<UserDto> UpdateUserRoleAsync(UpdateUserRoleDto data)
162-
{
163-
UserData userData = await _userRepository.GetAsync(data.UserId);
164-
userData.UserRoles.Clear();
165-
foreach (var item in data.RoleIds)
166-
{
167-
userData.AddRole(GuidGenerator.Create(), item);
168-
}
169132
var result = await _userRepository.UpdateAsync(userData);
170133
return ObjectMapper.Map<UserData, UserDto>(result);
171134
}
172135

173-
public async Task<UserDto> VerifyPasswordAsync(VerifyPasswordDto data)
136+
public async Task<UserDto> VerifyAsync(VerifyPasswordDto data)
174137
{
175138
UserData userData = await _userRepository.GetAsync(data.Name);
176139
if (userData == null) return null;
@@ -182,7 +145,7 @@ public async Task<UserDto> VerifyPasswordAsync(VerifyPasswordDto data)
182145
return null;
183146
}
184147

185-
public async Task<UserDto> UpdateUserAsync(Guid id, UpdateUserDto data)
148+
public async Task<UserDto> UpdateAsync(Guid id, UpdateUserDto data)
186149
{
187150
UserData userData = await _userRepository.GetAsync(id);
188151
userData.NickName = data.Name;

Best Practices/Lemon.Account/src/Lemon.Account.Host/LemonAccountHostModule.cs

+7
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ public override void ConfigureServices(ServiceConfigurationContext context)
9191
ConfigureAuthentication(context, configuration);
9292
ConfigureSwaggerServices(context);
9393
ConfigureCors(context, configuration);
94+
95+
Configure<AbpAspNetCoreMvcOptions>(options =>
96+
{
97+
options
98+
.ConventionalControllers
99+
.Create(typeof(LemonAccountApplicationModule).Assembly);
100+
});
94101
}
95102

96103
public override void OnApplicationInitialization(

Best Practices/Lemon.Account/src/Lemon.Account.HttpApi/Controllers/AccountController.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public AccountController(
3232
[ProducesResponseType(StatusCodes.Status400BadRequest)]
3333
public async Task<IActionResult> VerifyPasswordAsync([FromBody]VerifyPasswordDto data)
3434
{
35-
var result = await _userService.VerifyPasswordAsync(data);
35+
var result = await _userService.VerifyAsync(data);
3636
if (result == null)
3737
{
3838
return NotFound();
@@ -71,9 +71,9 @@ public async Task<IActionResult> RegisterAsync([FromBody]CreateUserDto data)
7171
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
7272
[ProducesResponseType(StatusCodes.Status404NotFound)]
7373
[ProducesResponseType(StatusCodes.Status400BadRequest)]
74-
public async Task<IActionResult> SelfModifyMobileAsync([FromBody]SelfModifyMobileDto data)
74+
public async Task<IActionResult> UpdateMobileAsync([FromBody]SelfModifyMobileDto data)
7575
{
76-
var userDto = await _userService.SelfModifyMobileAsync(data);
76+
var userDto = await _userService.UpdateMobileAsync(data);
7777
return Ok(userDto);
7878
}
7979

@@ -83,9 +83,9 @@ public async Task<IActionResult> SelfModifyMobileAsync([FromBody]SelfModifyMobil
8383
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
8484
[ProducesResponseType(StatusCodes.Status404NotFound)]
8585
[ProducesResponseType(StatusCodes.Status400BadRequest)]
86-
public async Task<IActionResult> UpdateUserHeadIconAsync([FromBody]SelfModifyHeadIconDto data)
86+
public async Task<IActionResult> UpdateHeadIconAsync([FromBody]SelfModifyHeadIconDto data)
8787
{
88-
var userDto = await _userService.UpdateUserHeadIconAsync(data);
88+
var userDto = await _userService.UpdateHeadIconAsync(data);
8989
return Ok(userDto);
9090
}
9191

@@ -95,9 +95,9 @@ public async Task<IActionResult> UpdateUserHeadIconAsync([FromBody]SelfModifyHea
9595
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
9696
[ProducesResponseType(StatusCodes.Status404NotFound)]
9797
[ProducesResponseType(StatusCodes.Status400BadRequest)]
98-
public async Task<IActionResult> SelfModifyPasswordAsync([FromBody]SelfModifyPasswordDto data)
98+
public async Task<IActionResult> UpdatePasswordAsync([FromBody]SelfModifyPasswordDto data)
9999
{
100-
var userDto = await _userService.SelfModifyPasswordAsync(data);
100+
var userDto = await _userService.UpdatePasswordAsync(data);
101101
return Ok(userDto);
102102
}
103103
}

Best Practices/Lemon.Account/src/Lemon.Account.HttpApi/Controllers/UserController.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ public async Task<IActionResult> CreateAsync([FromBody]CreateUserDto data)
5050
// [Authorize(AccountPermissions.User.Search)]
5151
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(PagedResultDto<UserDto>))]
5252
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
53-
public IActionResult GetByPage(int pageIndex, int pageSize, string name = null,
53+
public IActionResult Get(int pageIndex, int pageSize, string name = null,
5454
string account = null, string email = null, string mobile = null)
5555
{
56-
var result = _userService.GetByPage(pageIndex, pageSize, name, account, email, mobile);
56+
var result = _userService.Get(pageIndex, pageSize, name, account, email, mobile);
5757
return Ok(result);
5858
}
5959

@@ -77,7 +77,7 @@ public async Task<IActionResult> GetAsync(Guid id)
7777
[ProducesResponseType(StatusCodes.Status400BadRequest)]
7878
public async Task<IActionResult> UpdateAsync(Guid id, UpdateUserDto data)
7979
{
80-
var userDto = await _userService.UpdateUserAsync(id, data);
80+
var userDto = await _userService.UpdateAsync(id, data);
8181
return Ok(userDto);
8282
}
8383

0 commit comments

Comments
 (0)