From f8e21d7b31d7690e17f5980aeb5763036dda99f0 Mon Sep 17 00:00:00 2001 From: liushijie <lslola@126.com> Date: 星期四, 27 三月 2025 09:12:14 +0800 Subject: [PATCH] fix bug --- LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) diff --git a/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs index 54d3114..454dc62 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs @@ -48,7 +48,7 @@ var data = _wxPayApi.AesGcmDecrypt(input.Resource.AssociatedData, input.Resource.Nonce, input.Resource.Ciphertext); var wxPayNotice = JsonConvert.DeserializeObject<WxPayNotice>(data); - if (wxPayNotice.OutTradeNo.StartsWith("JF") && Regex.IsMatch(wxPayNotice.OutTradeNo, @"^JF\d+$")) + if (wxPayNotice.OutTradeNo.Contains("JF") ) { if (wxPayNotice.TradeState == LifePaymentConstant.WxPayStatus.鏀粯鎴愬姛) { @@ -71,5 +71,56 @@ Code = "SUCCESS", }; } + + + [HttpPost] + [UnitOfWork] + public async Task<WxRechargeNotifyResult> WxPayDomesticRefundsNotify(WxRechargeNotifyInput input) + { + try + { + _logger.LogError($"寰俊閫�娆惧洖璋冮�氱煡锛氳繘鍏ュ井淇″洖璋�"); + var data = _wxPayApi.AesGcmDecrypt(input.Resource.AssociatedData, input.Resource.Nonce, input.Resource.Ciphertext); + var wxPayNotice = JsonConvert.DeserializeObject<WxPayDomesticRefundsNotice>(data); + + if (wxPayNotice.OutTradeNo.Contains("JF")) + { + if (wxPayNotice.RefundStatus == LifePaymentConstant.WxPayRefundStatus.閫�娆炬垚鍔�) + { + + } + switch (wxPayNotice.RefundStatus) + { + case LifePaymentConstant.WxPayRefundStatus.閫�娆炬垚鍔�: + await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.宸查��娆�); + break; + case LifePaymentConstant.WxPayRefundStatus.閫�娆惧叧闂�: + await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.宸查��娆�); + break; + case LifePaymentConstant.WxPayRefundStatus.閫�娆惧鐞嗕腑: + await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.閫�娆句腑); + break; + case LifePaymentConstant.WxPayRefundStatus.閫�娆惧紓甯�: + await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.閫�娆句腑); + break; + default : await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.閫�娆句腑);break; + } + } + } + catch (Exception ex) + { + + return new WxRechargeNotifyResult + { + Code = "FAIL", + Message = ex.Message, + }; + } + + return new WxRechargeNotifyResult + { + Code = "SUCCESS", + }; + } } } \ No newline at end of file -- Gitblit v1.9.1