using Tiobon.Core.IServices;
using Tiobon.Core.Model;
using Tiobon.Core.Model.ViewModels;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Tiobon.Core.Controllers
{
///
/// 建行聚合支付类
///
[Produces("application/json")]
[Route("api/Pay")]
[Authorize(Permissions.Name)]
public class PayController : Controller
{
private readonly ILogger _logger;
private readonly IPayServices _payServices;
///
/// 构造函数
///
///
///
public PayController(ILogger logger, IPayServices payServices)
{
_logger = logger;
_payServices = payServices;
}
///
/// 被扫支付
///
///
///
[HttpGet]
[Route("Pay")]
public async Task> PayGet([FromQuery]PayNeedModel payModel)
{
return await _payServices.Pay(payModel);
}
///
/// 被扫支付
///
///
///
[HttpPost]
[Route("Pay")]
public async Task> PayPost([FromBody]PayNeedModel payModel)
{
return await _payServices.Pay(payModel);
}
///
/// 支付结果查询-轮询
///
///
///
[HttpGet]
[Route("PayCheck")]
public async Task> PayCheckGet([FromQuery]PayNeedModel payModel)
{
return await _payServices.PayCheck(payModel, 1);
}
///
/// 支付结果查询-轮询
///
///
///
[HttpPost]
[Route("PayCheck")]
public async Task> PayCheckPost([FromBody]PayNeedModel payModel)
{
return await _payServices.PayCheck(payModel, 1);
}
///
/// 退款
///
///
///
[HttpGet]
[Route("PayRefund")]
public async Task> PayRefundGet([FromQuery]PayRefundNeedModel payModel)
{
return await _payServices.PayRefund(payModel);
}
///
/// 退款
///
///
///
[HttpPost]
[Route("PayRefund")]
public async Task> PayRefundPost([FromBody]PayRefundNeedModel payModel)
{
return await _payServices.PayRefund(payModel);
}
}
}