增加Mediat Pip特性,并用实例来做一个demo
This commit is contained in:
1 parent
292cb8638c
commit
c9ac7412ab
19 files changed
+682
-108
No files matched your search
@@ -1,29 +1,45 @@
|
||||
using Asp.Versioning;
|
||||
using Asp.Versioning;
|
||||
using MAX.Framework.Security;
|
||||
using MediatR;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Store.Users.Commands;
|
||||
using Store.Users.Contracts;
|
||||
using Store.Users.Contracts.Dtos;
|
||||
using Store.Users.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Store.Users.Dtos;
|
||||
|
||||
namespace Store.Users.Controllers
|
||||
namespace Store.Users.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[ApiVersionNeutral]
|
||||
[Route("user/[action]")]
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
[ApiController]
|
||||
[ApiVersionNeutral]
|
||||
[Route("user/[action]")]
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
private readonly IUserQueryService _userQuery;
|
||||
private readonly IUserQueryService _userQuery;
|
||||
private readonly IMediator _mediator;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
|
||||
public UserController(IUserQueryService userQuery)
|
||||
{
|
||||
_userQuery = userQuery;
|
||||
}
|
||||
[HttpGet]
|
||||
public async Task<UserInfo> GetUser(string userName)
|
||||
{
|
||||
return await _userQuery.GetUser(userName);
|
||||
}
|
||||
}
|
||||
public UserController(IUserQueryService userQuery, IMediator mediator, ICurrentUser currentUser)
|
||||
{
|
||||
_userQuery = userQuery;
|
||||
_mediator = mediator;
|
||||
_currentUser = currentUser;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<UserInfo> GetUser(string userName)
|
||||
{
|
||||
return await _userQuery.GetUser(userName);
|
||||
}
|
||||
|
||||
/// <summary>使用当前登录用户的积分为商铺续费。</summary>
|
||||
[HttpPost]
|
||||
public Task<ShopRenewResponse> ShopRenew([FromBody] ShopRenewRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
if (!_currentUser.IsAuthenticated || string.IsNullOrWhiteSpace(_currentUser.UserName))
|
||||
throw new UnauthorizedAccessException();
|
||||
|
||||
return _mediator.Send(new ShopRenewCommand(
|
||||
_currentUser.UserName, request.ShopId, request.RenewDuration, request.Remark), cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user