修改User模块
This commit is contained in:
1 parent
d6471f97d3
commit
bb7162aaf6
21 files changed
+278
-336
No files matched your search
@@ -1,4 +1,3 @@
|
||||
using MAX.Framework.Security;
|
||||
using MediatR;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
@@ -18,7 +17,7 @@ namespace Store.Users.Controllers;
|
||||
[DefaultHttpPost]
|
||||
[Authorize]
|
||||
[Route("v{version:apiVersion}/user/[action]")]
|
||||
public class UserController(UserManagementService users, UserFundsService funds, IMediator mediator, ICurrentUser currentUser) : ControllerBase
|
||||
public class UserController(UserManagementService users, UserFundsService funds, IMediator mediator) : ControllerBase
|
||||
{
|
||||
/// <summary>获取本人或授权范围内的用户信息,响应不包含密码。</summary>
|
||||
[EndpointSummary("获取用户信息")]
|
||||
@@ -62,14 +61,14 @@ public class UserController(UserManagementService users, UserFundsService funds,
|
||||
[EndpointSummary("修改用户资料")]
|
||||
public Task<UserInfo> UpdateUser(UserUpdateRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
return users.Update(request.Id, request, false, cancellationToken);
|
||||
return users.Update(request, false, cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>管理员修改任意子账号,普通主账号仅修改直属子账号。</summary>
|
||||
[EndpointSummary("修改直属子账号资料")]
|
||||
public Task<UserInfo> UpdateSubUser(UserUpdateRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
return users.Update(request.Id, request, true, cancellationToken);
|
||||
return users.Update(request, true, cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>删除无资金和业务关联的账户。</summary>
|
||||
@@ -80,7 +79,7 @@ public class UserController(UserManagementService users, UserFundsService funds,
|
||||
return ApiResult.Ok();
|
||||
}
|
||||
|
||||
/// <summary>本人改密校验原密码;管理员或主账号可为管理范围内的其他账户重置密码。</summary>
|
||||
/// <summary>非管理员本人改密校验原密码;管理员可重置任意账户,主账号可重置直属子账号密码。</summary>
|
||||
[EndpointSummary("修改或重置用户密码")]
|
||||
public async Task<ApiResult> ChangePassword(ChangePasswordRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
@@ -102,7 +101,7 @@ public class UserController(UserManagementService users, UserFundsService funds,
|
||||
return users.Balance(request.UserName, request, cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>管理员充值积分,或当前用户向其他账户转移自己的积分。</summary>
|
||||
/// <summary>管理员充值积分,或主账号向直属子账号转移自己的积分。</summary>
|
||||
[EndpointSummary("充值或转移用户积分")]
|
||||
public Task<UserFundsResponse> UpdateUserPoints(UserFundsRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
@@ -155,14 +154,9 @@ public class UserController(UserManagementService users, UserFundsService funds,
|
||||
|
||||
/// <summary>管理员或主账号为授权账户的商铺续费,扣除店铺所属账户积分并记录实际操作者。</summary>
|
||||
[EndpointSummary("使用积分为商铺续费")]
|
||||
public async Task<ShopRenewResponse> ShopRenew(ShopRenewRequest request, CancellationToken cancellationToken)
|
||||
public Task<ShopRenewResponse> ShopRenew(ShopRenewRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
if (!currentUser.IsAuthenticated || string.IsNullOrWhiteSpace(currentUser.UserName))
|
||||
{
|
||||
throw new UnauthorizedAccessException();
|
||||
}
|
||||
var targetName = await users.GetManagedUserName(request.UserName, cancellationToken);
|
||||
return await mediator.Send(new ShopRenewCommand(targetName, request.ShopId, request.RenewDuration, request.Remark,
|
||||
currentUser.UserName), cancellationToken);
|
||||
// 操作者身份、目标账户归属和消费额度统一在命令管道中检查。
|
||||
return mediator.Send(new ShopRenewCommand(request), cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user