From 37a0d618c0b33cd817f6ed12c0b54743a2af0ff3 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期四, 27 三月 2025 13:40:03 +0800
Subject: [PATCH] Merge branch 'master' into dev-lifepay-v1.3

---
 LifePayment/LifePayment.Application/LifePay/LifePayService.cs |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 6887672..544d13e 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;
@@ -1826,15 +1829,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