zhengyuxuan
2025-03-27 d6af4520eb948a5b1ab1c6c4352d9688513e1713
fix:新增微信支付查询
11个文件已修改
123 ■■■■ 已修改文件
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application/LifePay/LifePayService.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain.Shared/LifePaymentConstant.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/Ali/AliPayApi.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/Ali/IAliPayApi.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/WeChat/IWxPayApi.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/WeChat/WxClient.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Domain/WeChat/WxPayApi.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -277,9 +277,21 @@
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<AlipayTradeQueryResponse> QueryGetAlipayTrade(OrderInQuiryInput input);
    Task<AlipayTradeQueryResponse> QueryAlipayTrade(OrderInQuiryInput input);
    /// <summary>
    /// 查询支付宝退款订单信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input);
    /// <summary>
    /// 查询微信支付订单信息
    /// </summary>
    /// <param name="outTradeNo"></param>
    /// <returns></returns>
    Task WxPayDomesticRefundsQuery(string outTradeNo);
    /// <summary>
    /// 设置生活缴费支付类型
LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -821,13 +821,32 @@
        }
    }
    public async Task<AlipayTradeQueryResponse> QueryGetAlipayTrade(OrderInQuiryInput input)
    /// <summary>
    /// 查询支付宝支付订单信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<AlipayTradeQueryResponse> QueryAlipayTrade(OrderInQuiryInput input)
    {
        var result = await _aliPayApi.OrderInQuiry(input);
        return result;
    }
    /// <summary>
    /// 查询支付宝退款订单信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input)
    {
        var result = await _aliPayApi.QueryAlipayTradeRefund(input);
        return result;
    }
    public async Task WxPayDomesticRefundsQuery(string outTradeNo)
    {
        await _wxPayApi.WxPayDomesticRefundsQuery(outTradeNo);
    }
    #endregion
@@ -850,7 +869,7 @@
        CheckExtensions.IfTrueThrowUserFriendlyException(channle == null, "渠道不存在");
        var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.话费订单 && x.PayStatus == LifePayStatusEnum.已支付
        && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中 && x.OrderParamDetailJsonStr.Contains(input.ProductData.IspCode)
        && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中
        && x.OrderParamDetailJsonStr.Contains(input.ProductData.Phone)).ToListAsync();
         CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "您有同户号订单正在充值中,请勿重复充值");
@@ -911,7 +930,7 @@
        //var rate = await GetRate();
        //CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "未配置折扣");
        var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.电费订单 && x.PayStatus == LifePayStatusEnum.已支付
         && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中 && x.OrderParamDetailJsonStr.Contains(input.ProductData.ElectricType)
         && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中
         && x.OrderParamDetailJsonStr.Contains(input.ProductData.ElectricAccount)).ToListAsync();
                CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "您有同户号订单正在充值中,请勿重复充值");
@@ -966,7 +985,7 @@
        //var rate = await GetRate();
        //CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "未配置折扣");
        var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.燃气订单 && x.PayStatus == LifePayStatusEnum.已支付
        && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中 && x.OrderParamDetailJsonStr.Contains(input.ProductData.GasOrgType)
        && x.LifePayOrderStatus == LifePayOrderStatusEnum.充值中
        && x.OrderParamDetailJsonStr.Contains(input.ProductData.GasAccount)).ToListAsync();
        CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "您有同户号订单正在充值中,请勿重复充值");
LifePayment/LifePayment.Domain.Shared/LifePaymentConstant.cs
@@ -53,8 +53,12 @@
        public const string PayTransactionsH5 = "/v3/pay/transactions/h5";
        public const string WxPayTradeQyery = "/v3/pay/transactions/out-trade-no/{out_trade_no}";
        public const string WxPayDomesticRefunds = "/v3/refund/domestic/refunds";
        public const string WxPayDomesticRefundsQuery = "/v3/refund/domestic/refunds/{out_refund_no}";
        public const string WxPayTradeBillApply = "/v3/fund-app/mch-transfer/elecsign/out-bill-no";
        public const string WxPayTradeBillQuery = "/v3/fund-app/mch-transfer/elecsign/out-bill-no/{out_bill_no}";
LifePayment/LifePayment.Domain/Ali/AliPayApi.cs
@@ -40,15 +40,20 @@
            return response;
        }
        public async Task<AlipayTradeQueryResponse> TradeRefundQuiry(OrderInQuiryInput input)
        /// <summary>
        /// 查询支付宝退款订单信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input)
        {
            AlipayTradeQueryResponse response = Factory.Payment.Common().Query(input.OutTradeNo);
            AlipayTradeFastpayRefundQueryResponse response = await Factory.Payment.Common().QueryRefundAsync(input.OutTradeNo, input.OutTradeNo);
            return response;
        }
        public async Task<AlipayTradeRefundResponse> TradeRefund(AlipayTradeRefundRequest input)
        {
            AlipayTradeRefundResponse response = Factory.Payment.Common().Refund(input.OutTradeNo,input.RefundAmount);
            AlipayTradeRefundResponse response = await Factory.Payment.Common().RefundAsync(input.OutTradeNo,input.RefundAmount);
            return response;
        }
LifePayment/LifePayment.Domain/Ali/IAliPayApi.cs
@@ -12,6 +12,8 @@
        Task<AlipayTradeQueryResponse> OrderInQuiry(OrderInQuiryInput input);
        Task<AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input);
        Task<AlipayTradeRefundResponse> TradeRefund(AlipayTradeRefundRequest input);
    }
}
LifePayment/LifePayment.Domain/WeChat/IWxPayApi.cs
@@ -24,6 +24,8 @@
        Task<WxPayDomesticRefundsReponse> WxPayDomesticRefunds(WxPayDomesticRefundsRequest input);
        Task WxPayDomesticRefundsQuery(string outTradeNo);
        Task<WxPayTradeBillApplyReponse> WxPayTradeBillApply(WxPayTradeBillApplyRequest input);
        Task<WxPayTradeBillQueryReponse> WxPayTradeBillQuery(WxPayTradeBillQueryRequest input);
LifePayment/LifePayment.Domain/WeChat/WxClient.cs
@@ -121,6 +121,8 @@
            return result;
        }
        public async Task<CertificatesReponse> GetCertificates()
        {
            return await Certificates<CertificatesReponse>(LifePaymentConstant.WxPayCertificates);
LifePayment/LifePayment.Domain/WeChat/WxPayApi.cs
@@ -1,5 +1,6 @@
using LifePayment.Domain.Shared;
using System.Threading.Tasks;
using ZeroD.Util.Fadd;
namespace LifePayment.Domain
{
@@ -35,6 +36,13 @@
            return result;
        }
        public async Task WxPayDomesticRefundsQuery(string outTradeNo)
        {
            var url = $"{string.Format(LifePaymentConstant.WxPayDomesticRefundsQuery, outTradeNo)}";
            var result = await Certificates<PayTransactionsReponse>(url);
            //return result;
        }
        public async Task<WxPayTradeBillApplyReponse> WxPayTradeBillApply(WxPayTradeBillApplyRequest input)
        {
            var result = await NomalPostAsync<WxPayTradeBillApplyRequest, WxPayTradeBillApplyReponse>(input, LifePaymentConstant.WxPayTradeBillApply);
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -260,9 +260,16 @@
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.LifePayController.QueryGetAlipayTrade(LifePayment.Domain.Shared.OrderInQuiryInput)">
        <member name="M:LifePayment.HttpApi.LifePayController.QueryAlipayTrade(LifePayment.Domain.Shared.OrderInQuiryInput)">
            <summary>
            查询支付宝订单信息
            查询支付宝支付订单信息
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.HttpApi.LifePayController.QueryAlipayTradeRefund(LifePayment.Domain.Shared.OrderInQuiryInput)">
            <summary>
            查询支付宝退款订单信息
            </summary>
            <param name="input"></param>
            <returns></returns>
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -232,13 +232,27 @@
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.QueryGetAlipayTrade(LifePayment.Domain.Shared.OrderInQuiryInput)">
        <member name="M:LifePayment.Application.Contracts.ILifePayService.QueryAlipayTrade(LifePayment.Domain.Shared.OrderInQuiryInput)">
            <summary>
            查询支付宝支付订单信息
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.QueryAlipayTradeRefund(LifePayment.Domain.Shared.OrderInQuiryInput)">
            <summary>
            查询支付宝退款订单信息
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.WxPayDomesticRefundsQuery(System.String)">
            <summary>
            查询微信支付订单信息
            </summary>
            <param name="outTradeNo"></param>
            <returns></returns>
        </member>
        <member name="M:LifePayment.Application.Contracts.ILifePayService.SetLifePayOrderPayType(LifePayment.Domain.Shared.SetLifePayOrderPayTypeInput,System.String)">
            <summary>
            设置生活缴费支付类型
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -443,15 +443,35 @@
        }
        /// <summary>
        /// 查询支付宝订单信息
        /// 查询支付宝支付订单信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        [AllowAnonymous]
        public async Task<Alipay.EasySDK.Payment.Common.Models.AlipayTradeQueryResponse> QueryGetAlipayTrade(OrderInQuiryInput input)
        public async Task<Alipay.EasySDK.Payment.Common.Models.AlipayTradeQueryResponse> QueryAlipayTrade(OrderInQuiryInput input)
        {
            return await _lifePayService.QueryGetAlipayTrade(input);
            return await _lifePayService.QueryAlipayTrade(input);
        }
        /// <summary>
        /// 查询支付宝退款订单信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        [AllowAnonymous]
        public async Task<Alipay.EasySDK.Payment.Common.Models.AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input)
        {
            return await _lifePayService.QueryAlipayTradeRefund(input);
        }
        [HttpGet]
        [AllowAnonymous]
        public async Task WxPayDomesticRefundsQuery(string outTradeNo)
        {
            await _lifePayService.WxPayDomesticRefundsQuery(outTradeNo);
        }
        #endregion