using LifePayment.Application.Contracts;
|
using LifePayment.Domain;
|
using LifePayment.Domain.Shared;
|
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Mvc;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using Volo.Abp;
|
using Volo.Abp.AspNetCore.Mvc;
|
using Volo.Abp.AspNetCore.WebClientInfo;
|
using Volo.Abp.EventBus.Distributed;
|
using Volo.Abp.Identity;
|
using Volo.Abp.Uow;
|
using ZeroD.Util;
|
using ZeroD.Util.Fadd;
|
using LifePayment.Application.Contracts;
|
|
namespace LifePayment.HttpApi
|
{
|
[Route("api/[controller]/[action]")]
|
[ApiController]
|
[Authorize]
|
public class LifePayController : AbpController
|
{
|
private readonly ILifePayService _lifePayService;
|
private readonly IWebClientInfoProvider _webClientInfoProvider;
|
public LifePayController(
|
ILifePayService lifePayService,
|
IWebClientInfoProvider webClientInfoProvider
|
)
|
{
|
_lifePayService = lifePayService;
|
_webClientInfoProvider = webClientInfoProvider;
|
}
|
|
#region 查询
|
|
/// <summary>
|
/// 获取电费面值
|
/// </summary>
|
/// <returns></returns>
|
[HttpGet]
|
[AllowAnonymous]
|
public async Task<ElectricParValueResponse> GetElectricParValue()
|
{
|
return await _lifePayService.GetElectricParValue();
|
}
|
|
/// <summary>
|
/// 获取电费充值区域
|
/// </summary>
|
/// <returns></returns>
|
[HttpGet]
|
[AllowAnonymous]
|
public async Task<ElectricSupportAreaResponse> GetElectricSupportArea()
|
{
|
var aresResult = await _lifePayService.GetElectricSupportArea();
|
var parValues = await _lifePayService.GetElectricParValue();
|
|
foreach(var item in aresResult.ElectricAreaList)
|
{
|
var paritem = parValues.ElectricParValue.Where(r=>r.AreaName == item.CityName).FirstOrDefault();
|
if(paritem != null)
|
{
|
item.ElectricType = paritem.ElectricType;
|
item.ParValue = paritem.ParValue;
|
item.Rate = paritem.Rate;
|
}
|
}
|
|
return aresResult;
|
}
|
|
/// <summary>
|
/// 获取话费面值
|
/// </summary>
|
/// <returns></returns>
|
[HttpGet]
|
[AllowAnonymous]
|
public async Task<PhoneParValueResponse> GetPhoneParValue()
|
{
|
return await _lifePayService.GetPhoneParValue();
|
}
|
|
/// <summary>
|
/// 获取折扣
|
/// </summary>
|
/// <returns></returns>
|
[HttpGet]
|
[AllowAnonymous]
|
public async Task<List<LifePayRateListOutput>> GetRate()
|
{
|
return await _lifePayService.GetRate();
|
}
|
|
/// <summary>
|
/// 获取用户分页数据
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<PageOutput<UserListOutput>> GetUserPage(PageInput input)
|
{
|
return await _lifePayService.GetUserPage(input);
|
}
|
|
/// <summary>
|
/// 获取订单分页数据
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public async Task<PageOutput<LifePayOrderListOutput>> GetLifePayOrderPage(QueryLifePayOrderListInput input)
|
{
|
return await _lifePayService.GetLifePayOrderPage(input);
|
}
|
|
/// <summary>
|
/// 获取我的订单分页数据
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[AllowAnonymous]
|
public async Task<PageOutput<UserLifePayOrderOutput>> GetUserLifePayOrderPage(QueryLifePayOrderListInput input)
|
{
|
return await _lifePayService.GetUserLifePayOrderPage(input);
|
}
|
|
/// <summary>
|
/// 根据订单号获取支付状态
|
/// </summary>
|
/// <param name="orderNo"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[AllowAnonymous]
|
public async Task<LifePayStatusEnum> GetPayStatusByOrderNo(string orderNo)
|
{
|
return await _lifePayService.GetPayStatusByOrderNo(orderNo);
|
}
|
|
#endregion
|
|
#region 操作
|
|
/// <summary>
|
/// 创建生活缴费话费订单
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[AllowAnonymous]
|
public async Task<CreateLifePayOrderOutput> CreateLifePayPhoneOrder(CreateLifePayOrderInput<LifePhoneData> input)
|
{
|
return await _lifePayService.CreateLifePayPhoneOrder(input);
|
}
|
|
/// <summary>
|
/// 创建生活缴费电费订单
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[AllowAnonymous]
|
public async Task<CreateLifePayOrderOutput> CreateLifePayElectricOrder(CreateLifePayOrderInput<LifeElectricData> input)
|
{
|
return await _lifePayService.CreateLifePayElectricOrder(input);
|
}
|
|
/// <summary>
|
/// 退款生活缴费订单
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
/// <exception cref="UserFriendlyException"></exception>
|
[HttpPost]
|
public async Task<int> RefundLifePayOrder(RefundLifePayOrderInput input)
|
{
|
await _lifePayService.RefundLifePayOrder(input);
|
return Constant.SUCCESS;
|
}
|
|
/// <summary>
|
/// 设置生活缴费支付类型
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[AllowAnonymous]
|
public async Task<string> SetLifePayOrderPayType(SetLifePayOrderPayTypeInput input)
|
{
|
|
return await _lifePayService.SetLifePayOrderPayType(input, _webClientInfoProvider.ClientIpAddress);
|
}
|
|
/// <summary>
|
/// 获取微信支付的JSAPI
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[AllowAnonymous]
|
public async Task<ModelPaymentMiniPay> GetPayOrderForJsAPI(GetPayOrderForJsAPIInput input)
|
{
|
return await _lifePayService.GetPayOrderForJsAPI(input, _webClientInfoProvider.ClientIpAddress);
|
}
|
|
#endregion
|
|
}
|
}
|