From 7a89586d7754d5ff1c38cbfdbda6c357507f5620 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期一, 09 六月 2025 13:34:15 +0800 Subject: [PATCH] feat:退款按比例自动计算 --- LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs index 0aef80f..48708f5 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs @@ -353,6 +353,7 @@ RefundPrice = a.RefundPrice, ChannelName = b.ChannlesName, ActualRechargeAmount = a.RechargeAmount, + ActualReceivedAmount = a.ActualReceivedAmount, PlatformDeductionAmount = a.PlatformDeductionAmount, ACOOLYStatus = a.ACOOLYStatus, LifePayRefundStatus = a.LifePayRefundStatus, @@ -453,6 +454,7 @@ PremiumPrice = orderpirce.PremiumPrice, Profit = orderpirce.Profit, RefundOrderNo = order.RefundOrderNo, + ActualReceivedAmount = order.ActualReceivedAmount }; return result; @@ -1404,7 +1406,7 @@ || order.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆�) { order.FinishTime = DateTime.Now; - order.PlatformDeductionAmount = order.ActualReceivedAmount * order.PlatformRate / 100; + order.PlatformDeductionAmount = Math.Round((order.ActualReceivedAmount ?? 0) * (order.PlatformRate ?? 0) / 100, 2); order.RefundPrice = Math.Round((1 - ((order.ActualReceivedAmount ?? 0) / (order.RechargeAmount ?? 0))) * (order.PayAmount ?? 0), 2); } @@ -1515,6 +1517,8 @@ order.RefundTime = DateTime.Now; order.RefundCheckUserId = CurrentUser.Id; order.RefundPrice = input.RefundPrice; + order.ActualReceivedAmount = Math.Round((1 - ((order.RefundPrice ?? 0) / (order.PayAmount ?? 0))) * (order.RechargeAmount ?? 0), 2); + order.PlatformDeductionAmount = Math.Round((order.ActualReceivedAmount ?? 0) * (order.PlatformRate ?? 0) / 100, 2); //await _lifePayOrderRepository.UpdateAsync(order); -- Gitblit v1.9.1