From 132fb9d381c6d2c431d77deb7b678ceb0a761614 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期四, 20 三月 2025 16:00:41 +0800
Subject: [PATCH] fix:bug修复

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

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 0a8d5cf..6531979 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -169,7 +169,8 @@
     {
         return await _channelFilter.GetChannelLifePayUserFilter(_lifePayUserRepository).Where(x => x.IsDeleted == false)
             .WhereIf(!string.IsNullOrEmpty(input.QueryCondition), x => x.PhoneNumber.Contains(input.QueryCondition) || x.Name.Contains(input.QueryCondition))
-            .WhereIf(input.CreationTime.HasValue, x => x.CreationTime.ToString("yyyy-MM-dd") == input.CreationTime.Value.ToString("yyyy-MM-dd"))
+            .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
+            .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
                                             .Select(x =>
                                                    new UserListOutput()
                                                    {
@@ -270,13 +271,21 @@
     {
         var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
         var platformRate = await _lifePayRateRepository.FirstOrDefaultAsync(r => r.RateType == LifePayRateTypeEnum.渚涘簲鍟嗘姌鎵d环);
-        var channleRate = await _lifePayChannlesRep.FirstOrDefaultAsync(r => r.ChannlesNum == order.ChannelId);
+        var channle = await _lifePayChannlesRep.FirstOrDefaultAsync(r => r.ChannlesNum == order.ChannelId);
+        var premium = await _lifePayPremiumRepository.Where(x => x.IsDeleted == false && x.PremiumType == order.LifePayType).FirstOrDefaultAsync();
         CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "璁㈠崟涓嶅瓨鍦�");
+        var user = await _lifePayUserRepository.FirstOrDefaultAsync(x => x.Id == order.UserId);
+        
+        var channlesRakePrice = (order.PayAmount - (order.PlatformDeductionAmount == null ? 0 : order.PlatformDeductionAmount)) * channle.ChannlesRakeRate / 100;
         var result = new LifePayOrderOutput()
                 {
+            UserName = user.Name,
+            UserPhoneNumber = user.PhoneNumber,
             DiscountAmount = order.DiscountAmount,
             FinishTime = order.FinishTime,
             Id = order.Id,
+            OutOrderNo = order.OutOrderNo,
+            LifePayChannle = channle.ChannlesName,
             LifePayOrderStatus = order.LifePayOrderStatus,
             LifePayOrderType = order.LifePayOrderType,
             LifePayType = order.LifePayType,
@@ -297,10 +306,12 @@
             RefundPrice = order.RefundPrice,
             PlatformRate = platformRate.Rate,
             PlatformPrice = order.PlatformDeductionAmount,
-            ChannleRate = channleRate.ChannlesRate,
-            ChannlesRakeRate = channleRate.ChannlesRakeRate,
-            ChannlesRakePrice = (order.PayAmount - order.PlatformDeductionAmount) * channleRate.ChannlesRakeRate,
-            //PremiumRate = 
+            ChannleRate = channle.ChannlesRate,
+            ChannlesRakeRate = channle.ChannlesRakeRate,
+            ChannlesRakePrice = channlesRakePrice.HasValue ? 0 : Math.Round(channlesRakePrice.Value, 2),
+            PremiumRate = premium == null ? 0 : premium.Rate,
+            PremiumPrice = premium == null ? 0 : Math.Round(order.PayAmount * premium.Rate, 2),
+            Profit = (order.PayAmount - order.PlatformDeductionAmount) * (1.00m - channle.ChannlesRakeRate / 100) - (premium == null ? 0 : Math.Round(order.PayAmount * premium.Rate, 2))
         };
 
         return result;

--
Gitblit v1.9.1