From a065812d64d67ee3e1927cc45c51fac9b21e44f9 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 25 三月 2025 10:38:51 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi --- LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 36 +++++++++++++++++++++++++++--------- 1 files changed, 27 insertions(+), 9 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs index 0d14bf2..7987669 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs @@ -530,6 +530,7 @@ CreationTime = x.CreationTime, RefundCheckRemark = x.RefundCheckRemark, RefundApplyRemark = x.RefundApplyRemark, + RefundApplyTime = x.RefundApplyTime, RefundTime = x.RefundTime, ACOOLYOrderNo = x.ACOOLYOrderNo, LifePayRefundStatus = x.LifePayRefundStatus, @@ -832,6 +833,8 @@ var rate = await GetRate(); CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "鏈厤缃姌鎵�"); + + //var rate = await GetLifePayRate(); var amount = CalculateAmount(input.ProductData.ParValue, rate.FirstOrDefault(x => x.RateType == LifePayRateTypeEnum.榛樿璇濊垂鎶樻墸).Rate); @@ -1565,24 +1568,21 @@ var order = await _lifePayOrderRepository.FirstOrDefaultAsync(x => x.Id == input.Id); CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "璁㈠崟涓嶅瓨鍦�"); - if(order.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�) + if (order.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�) { return; } - if (order.LifePayOrderStatus == LifePayOrderStatusEnum.寰呴��娆�) + if (order.LifePayOrderStatus == LifePayOrderStatusEnum.寰呴��娆� || order.LifePayRefundStatus == LifePayRefundStatusEnum.寰呴��娆�) { - if (order.ACOOLYStatus == ACOOLYStatusEnum.宸插畬鎴� || order.ACOOLYStatus == ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�) + if (order.ACOOLYStatus == ACOOLYStatusEnum.宸插畬鎴� || order.ACOOLYStatus == ACOOLYStatusEnum.鍏呭�兼垚鍔� || order.ACOOLYStatus == ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�) { order.LifePayOrderStatus = LifePayOrderStatusEnum.宸插畬鎴�; - } - else if (order.ACOOLYStatus == ACOOLYStatusEnum.鍏呭�煎け璐�) - { - order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆惧け璐�; } order.RefundCheckRemark = input.RefundCheckRemark; order.RefundCheckUserId = CurrentUser.Id; + order.LifePayRefundStatus = LifePayRefundStatusEnum.閫�娆鹃┏鍥�; await _lifePayOrderRepository.UpdateAsync(order); @@ -1760,10 +1760,10 @@ private (decimal PayAmont, decimal DiscountAmount, decimal RechargeAmount) CalculateAmount(decimal amount, decimal rate) { /// 姝e父鏀粯 - var payAmount = decimal.Round(amount * rate / 100, 2, MidpointRounding.AwayFromZero); + //var payAmount = decimal.Round(amount * rate / 100, 2, MidpointRounding.AwayFromZero); /// 1鍒嗛挶鏀粯 - //decimal payAmount = 0.01m; + decimal payAmount = 0.01m; CheckExtensions.IfTrueThrowUserFriendlyException(payAmount < 0.01m, "鏀粯閲戦閿欒"); @@ -2100,5 +2100,23 @@ }; } + public async Task<decimal> GetLifePayRate(string channelId, LifePayRateTypeEnum lifePayRateType) + { + if (string.IsNullOrEmpty(channelId)) + { + var rate = await GetRate(); + CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "鏈厤缃姌鎵�"); + var result = rate.FirstOrDefault(x => x.RateType == lifePayRateType).Rate; + return result; + } + else + { + var channel = await _lifePayChannlesRep.Where(x => x.ChannlesNum == channelId).FirstOrDefaultAsync(); + + CheckExtensions.IfTrueThrowUserFriendlyException(channel == null, "鏈壘鍒板搴旀笭閬�"); + return channel.ChannlesRate; + } + } + #endregion } -- Gitblit v1.9.1