From 60cb256be04204b03583017e3f6966a145ed4e8e Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期二, 25 三月 2025 13:11:05 +0800
Subject: [PATCH] fix:实际充值金额bug修复

---
 LifePayment/LifePayment.Application/LifePay/LifePayService.cs |   79 +++++++++++++++++++++++----------------
 1 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 7987669..11bc1ec 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -427,7 +427,7 @@
             RefundTime = order.RefundTime,
             ACOOLYOrderNo = order.ACOOLYOrderNo,
             LifePayRefundStatus = order.LifePayRefundStatus,
-            ActualRechargeAmount = order.ActualRechargeAmount,
+            ActualRechargeAmount = order.RechargeAmount,
             RefundPrice = order.RefundPrice,
             PlatformRate = order.PlatformRate,
             PlatformPrice = order.PlatformDeductionAmount,
@@ -742,7 +742,7 @@
             ACOOLYStatus = x.ACOOLYStatus,
             //RefundApplyRemark = x.RefundApplyRemark,
             ChannelName = x.ChannelName,
-            PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0
+            PlatformPrice = x.PlatformDeductionAmount.HasValue ? x.PlatformDeductionAmount.Value : 0.00m
         }).OrderByDescending(r => r.CreationTime).ToListAsync();
         var i = 0;
         result.ForEach(s =>
@@ -1310,6 +1310,11 @@
         if (acoolyOrderNo.IsNotNullOrEmpty())
         {
             order.ACOOLYOrderNo = acoolyOrderNo;
+        }
+
+        if (status == LifePayOrderStatusEnum.寰呴��娆�)
+        {
+            order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�;
         }
 
         if (refundApplyRemark.IsNotNullOrEmpty())
@@ -1968,42 +1973,52 @@
 
     private async Task<IQueryable<LifePayOrderListOutput>> GetLifePayOrderListFilter(QueryLifePayOrderListInput input)
     {
-        var result = (from a in _lifePayOrderRepository.Where(x => x.PayStatus != LifePayStatusEnum.鏈敮浠�)
-                                            .WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime)
+        var channles = await _lifePayChannlesRep.Where(x => x.ChannlesName.Contains(input.KeyWords)).Select(x => x.ChannlesNum).ToListAsync();
+        var result = (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository)
+                      .WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime)
                                             .WhereIf(input.EndFinishTime.HasValue, x => x.FinishTime <= input.EndFinishTime)
                                             .WhereIf(input.BeginPayTime.HasValue, x => x.PayTime >= input.BeginPayTime)
+                                            .WhereIf(input.LifePayType.HasValue, x => x.LifePayType == input.LifePayType)
                                             .WhereIf(input.EndPayTime.HasValue, x => x.PayTime <= input.EndPayTime)
                                             .WhereIf(input.LifePayOrderStatus.HasValue, x => x.LifePayOrderStatus == input.LifePayOrderStatus.Value)
                                             .WhereIf(input.PayStatus.HasValue, x => x.PayStatus == input.PayStatus.Value)
+                                            .WhereIf(input.ACOOLYStatus.HasValue, x => x.ACOOLYStatus == input.ACOOLYStatus.Value)
                                             .WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayOrderType == input.LifePayOrderType.Value)
                                             .WhereIf(input.UserId.HasValue, x => x.UserId == input.UserId.Value)
-                                            .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.PhoneNumber.Contains(input.KeyWords) || x.OrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords))
-                      join b in _lifePayChannlesRep on a.ChannelId equals b.ChannlesNum into temp
-                      from b in temp.DefaultIfEmpty()
-                      select new LifePayOrderListOutput
-                      {
-                          DiscountAmount = a.DiscountAmount,
-                          FinishTime = a.FinishTime,
-                          Id = a.Id,
-                          LifePayOrderStatus = a.LifePayOrderStatus,
-                          LifePayOrderType = a.LifePayOrderType,
-                          LifePayType = a.LifePayType,
-                          OrderNo = a.OrderNo,
-                          PayAmount = a.PayAmount,
-                          PhoneNumber = a.PhoneNumber,
-                          RechargeAmount = a.RechargeAmount,
-                          UserId = a.UserId,
-                          OutOrderNo = a.OutOrderNo,
-                          PayStatus = a.PayStatus,
-                          PayTime = a.PayTime,
-                          ACOOLYOrderNo = a.ACOOLYOrderNo,
-                          RefundCredentialsImgUrl = a.RefundCredentialsImgUrl.GetOssPath(),
-                          CreationTime = a.CreationTime,
-                          RefundCheckRemark = a.RefundCheckRemark,
-                          RefundApplyRemark = a.RefundApplyRemark,
-                          RefundTime = a.RefundTime,
-                          ChannelName = b.ChannlesName
-                      });
+                                            .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords) || channles.Contains(x.ChannelId))
+                            join b in _lifePayChannlesRep on a.ChannelId equals b.ChannlesNum into temp
+                            from b in temp.DefaultIfEmpty()
+                            select new LifePayOrderListOutput
+                            {
+                                DiscountAmount = a.DiscountAmount,
+                                FinishTime = a.FinishTime,
+                                Id = a.Id,
+                                LifePayOrderStatus = a.LifePayOrderStatus,
+                                LifePayOrderType = a.LifePayOrderType,
+                                LifePayType = a.LifePayType,
+                                OrderNo = a.OrderNo,
+                                PayAmount = a.PayAmount,
+                                PhoneNumber = a.PhoneNumber,
+                                RechargeAmount = a.RechargeAmount,
+                                UserId = a.UserId,
+                                OutOrderNo = a.OutOrderNo,
+                                PayStatus = a.PayStatus,
+                                PayTime = a.PayTime,
+                                ACOOLYOrderNo = a.ACOOLYOrderNo,
+                                RefundCredentialsImgUrl = a.RefundCredentialsImgUrl.GetOssPath(),
+                                RefundPrice = a.RefundPrice,
+                                CreationTime = a.CreationTime,
+                                RefundCheckRemark = a.RefundCheckRemark,
+                                RefundApplyRemark = a.RefundApplyRemark,
+                                RefundTime = a.RefundTime,
+                                ChannelName = b.ChannlesName,
+                                ActualRechargeAmount = a.ActualRechargeAmount,
+                                PlatformDeductionAmount = a.PlatformDeductionAmount,
+                                ACOOLYStatus = a.ACOOLYStatus,
+                                LifePayRefundStatus = a.LifePayRefundStatus,
+                            });
+
+        
         return result;
     }
 
@@ -2011,7 +2026,7 @@
     {
         var result = (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository)
      .Where(x => x.LifePayOrderStatus == LifePayOrderStatusEnum.寰呴��娆� || x.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆� || x.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆句腑
-     || x.LifePayRefundStatus > LifePayRefundStatusEnum.鏃犻渶閫�娆�)
+     || (x.LifePayRefundStatus > LifePayRefundStatusEnum.鏃犻渶閫�娆� && x.LifePayRefundStatus != LifePayRefundStatusEnum.閫�娆鹃┏鍥�))
                                          .WhereIf(input.BeginRefundTime.HasValue, x => x.RefundTime >= input.BeginRefundTime)
                                          .WhereIf(input.EndRefundTime.HasValue, x => x.RefundTime <= input.EndRefundTime)
                                          .WhereIf(input.BeginRefundApplyTime.HasValue, x => x.RefundApplyTime >= input.BeginRefundApplyTime)

--
Gitblit v1.9.1