NewGaoKaoApi/New_College.Services/WeiChatPayServicesV3.cs

83 lines
3.1 KiB
C#

using New_College.IServices;
using New_College.Model.Models;
using New_College.Services.BASE;
using New_College.IRepository.Base;
using New_College.IRepository.UnitOfWork;
using New_College.Model.ViewModels;
using System.Threading.Tasks;
using New_College.Common;
using New_College.IRepository;
using System.Linq;
using YIJIYI.Core.Common.Helper;
using System;
using New_College.Model;
using New_College.Common.Helper;
using Microsoft.Extensions.Options;
using Essensoft.AspNetCore.Payment.WeChatPay;
using Essensoft.AspNetCore.Payment.Alipay;
using Microsoft.Extensions.Logging;
using Essensoft.AspNetCore.Payment.Alipay.Domain;
using Essensoft.AspNetCore.Payment.Alipay.Request;
using System.Collections.Generic;
using LinqKit;
using System.Collections.Specialized;
using Org.BouncyCastle.Asn1.Ocsp;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using NPOI.SS.Formula.Functions;
using Essensoft.AspNetCore.Payment.WeChatPay.V3;
namespace New_College.Services
{
public class WeiChatPayServicesV3 : BaseServices<V_OrderInfo>, IWeiChatPayServicesV3
{
private readonly IWeChatPayClient _client;
private readonly IOptions<WeChatPayOptions> _optionsAccessor;
private readonly IAlipayClient alipayClient;
private readonly IOptions<AlipayOptions> alipayoptions;
private readonly IBaseRepository<V_OrderInfo> _dal;
private readonly IUnitOfWork _unitOfWork;
private readonly IV_CustomerInfoRepository v_CustomerInfoRepository;
private readonly IV_VipCardInfoRepository v_VipCardInfoRepository;
private readonly IV_VipCardTypeRepository v_VipCardTypeRepository;
private readonly ILogger<V_OrderInfo> logger;
public int Nums = 10;
public WeiChatPayServicesV3(IWeChatPayClient client, IOptions<WeChatPayOptions> optionsAccessor
, IAlipayClient IAlipayClient, IOptions<AlipayOptions> alipayopt
, IBaseRepository<V_OrderInfo> dal
, IUnitOfWork IUnitOfWork
, IV_CustomerInfoRepository IV_CustomerInfoRepository
, IV_VipCardInfoRepository IV_VipCardInfoRepository
, IV_VipCardTypeRepository IV_VipCardTypeRepository
, ILogger<V_OrderInfo> loggers
)
{
_client = client;
_optionsAccessor = optionsAccessor;
alipayClient = IAlipayClient;
alipayoptions = alipayopt;
this._dal = dal;
_unitOfWork = IUnitOfWork;
v_CustomerInfoRepository = IV_CustomerInfoRepository;
v_VipCardInfoRepository = IV_VipCardInfoRepository;
v_VipCardTypeRepository = IV_VipCardTypeRepository;
logger = loggers;
base.BaseDal = dal;
}
/// <summary>
/// PC端扫描支付生成URL
/// </summary>
/// <param name="viewModel"></param>
/// <returns></returns>
public async Task<string> QrCodePay(WeChatPayTransactionsNativeQuery viewModel)
{
return await WeChatPayV3.QrCodePay(_client, _optionsAccessor, viewModel);
}
}
}