From dffb7b3f639236997ebfb6239f1ea874a19dff7f Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期四, 27 三月 2025 15:32:09 +0800 Subject: [PATCH] fix:创建生活缴费订单 --- LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 30 +++++++++++++++++++----------- 1 files changed, 19 insertions(+), 11 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs index 0e40990..5dbd367 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs @@ -51,6 +51,7 @@ private readonly IAlipayInterfaceManager _alipayInterfaceManager; private readonly IWxPayApi _wxPayApi; private readonly WxPayOption _wxPayOptions; + private readonly InitSetting _initSettingOptions; private readonly IACOOLYManager _aCOOLYManager; @@ -67,6 +68,7 @@ IAlipayInterfaceManager aliPayInterfaceManager, IWxPayApi wxPayApi, IOptions<WxPayOption> wxPayOptions, + IOptions<InitSetting> initSettingOptions, IRepository<LifePayChannles, Guid> lifePayChannlesRep, IRepository<LifePayAccount, Guid> lifePayAccount, IDataFilter dataFilter, @@ -83,6 +85,7 @@ _alipayInterfaceManager = aliPayInterfaceManager; _wxPayApi = wxPayApi; _wxPayOptions = wxPayOptions.Value; + _initSettingOptions = initSettingOptions.Value; _distributedEventBus = distributedEventBus; _lifePayChannlesRep = lifePayChannlesRep; _lifePayAccount = lifePayAccount; @@ -836,8 +839,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.OrderParamDetailJsonStr.Contains(input.ProductData.Phone)).ToListAsync(); + && x.LifePayOrderStatus == LifePayOrderStatusEnum.鍏呭�间腑 && x.OrderParamDetailJsonStr.Contains(input.ProductData.Phone)).ToListAsync(); CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�"); //var rate = await GetRate(); @@ -897,7 +899,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, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�"); @@ -952,7 +954,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, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�"); @@ -1810,15 +1812,21 @@ private (decimal PayAmont, decimal DiscountAmount, decimal RechargeAmount) CalculateAmount(decimal amount, decimal rate) { - /// 姝e父鏀粯 - var payAmount = decimal.Round(amount * rate / 100, 2, MidpointRounding.AwayFromZero); + if (_initSettingOptions.OpenTheOnePennyTest) + { + /// 1鍒嗛挶鏀粯 + decimal payAmount = 0.01m; - /// 1鍒嗛挶鏀粯 - //decimal payAmount = 0.01m; + CheckExtensions.IfTrueThrowUserFriendlyException(payAmount < 0.01m, "鏀粯閲戦閿欒"); - CheckExtensions.IfTrueThrowUserFriendlyException(payAmount < 0.01m, "鏀粯閲戦閿欒"); - - return (payAmount, amount - payAmount, amount); + return (payAmount, amount - payAmount, amount); + } + else + { + /// 姝e父鏀粯 + var payAmount = decimal.Round(amount * rate / 100, 2, MidpointRounding.AwayFromZero); + return (payAmount, amount - payAmount, amount); + } } private void SetOrderStatus(LifePayOrder order, string code) -- Gitblit v1.9.1