修改User模块

This commit is contained in:
chfei committed 2026-10-23 19:01:28 +08:00
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);
}
}