From aff6340db92f4801184db829eccfed93ff6fedb3 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期二, 01 四月 2025 16:41:30 +0800
Subject: [PATCH] fix:提交

---
 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs        |   33 +++++++++--
 LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml    |   29 ++++++++-
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs            |   39 +++++++++++-
 LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs                  |   18 ++++++
 LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs |    2 
 LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs                     |    9 ++
 LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs   |    2 
 LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml                   |    7 ++
 LifePayment/LifePayment.Application/LifePay/StatisticsService.cs              |   39 ++++++++++++-
 9 files changed, 158 insertions(+), 20 deletions(-)

diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs
index cc012f9..0b2b918 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs
@@ -10,6 +10,8 @@
 
 public interface ILifePayOrderService : IApplicationService
 {
+    Task<PageOutput<LifePayConsumptionListOutput>> GetLifePayConsumptionPage(LifePayConsumptionPageInput input);
+
     Task<PageOutput<LifePayRechargeReceiptsListOutput>> GetLifePayRechargeReceiptsPage(LifePayRechargeReceiptsPageInput input);
 
     Task<PageOutput<LifePayExpensesReceiptsListOutput>> GetLifePayExpensesReceiptsPage(LifePayExpensesReceiptsPageInput input);
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs
index 4e37cda..bf9259c 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs
@@ -15,4 +15,6 @@
     Task<ReceiptsListOutPut> GetReceiptsList(List<string>? channleList = null);
 
     Task<ChannelDataListOutPut> GetChannelDataList(List<string>? channleList = null);
+
+    Task<ChannlesRakeListOutPut> GetChannlesRakeList(List<string>? channleList = null);
 }
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
index 4c1531b..7970135 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
@@ -1111,9 +1111,22 @@
     /// </summary>
     public string Link { get; set; }
 }
+
+public class LifePayConsumptionStatistics
+{
+    /// <summary>
+    /// 绱鎵f
+    /// </summary>
+    public decimal TotalDeductionAmount { get; set; }
+
+    /// <summary>
+    /// 鍐荤粨涓�
+    /// </summary>
+    public decimal TotalFrozenAmount { get; set; }
+}
+
 public class LifePayRechargeReceiptsStatistics
 {
-
     /// <summary>
     /// 绱鍏呭��
     /// </summary>
@@ -1160,7 +1173,7 @@
     /// </summary>
     public Guid Id { get; set; }
 
-    // <summary>
+    /// <summary>
     /// 骞冲彴璁㈠崟鍙�
     /// </summary>
     public string OrderNo { get; set; }
@@ -1332,6 +1345,14 @@
     public decimal Amount { get; set; }
 }
 
+public class ChannlesRakeListOutPut
+{
+    /// <summary>
+    /// 30澶╀剑閲�
+    /// </summary>
+    public List<ReceiptsDetail> ChannlesRakeList { get; set; } = new List<ReceiptsDetail> { };
+}
+
 public class ChannelDataListOutPut
 {
     /// <summary>
@@ -1349,9 +1370,9 @@
 public class ChannelDataReceive
 {
     /// <summary>
-    /// 娓犻亾缂栧彿
+    /// 娓犻亾鍚嶇О
     /// </summary>
-    public string ChannelId { get; set; }
+    public string ChannelName { get; set; }
 
     /// <summary>
     /// 鏀舵
@@ -1368,9 +1389,9 @@
 public class ChannelDataUserNumber
 {
     /// <summary>
-    /// 娓犻亾缂栧彿
+    /// 娓犻亾鍚嶇О
     /// </summary>
-    public string ChannelId { get; set; }
+    public string ChannelName { get; set; }
 
     /// <summary>
     /// 鐢ㄦ埛鏁伴噺
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index aa03716..fca55d3 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -58,7 +58,7 @@
         {
             var list = await _lifePayConsumption.Where(x => x.IsDeleted == false)
                 .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord) || x.OutOrderNo.Contains(input.KeyWord) || x.ChannelId.Contains(input.KeyWord))
-                .WhereIf(input.Flow.HasValue,x => x.Flow == input.Flow)
+                .WhereIf(input.Flow.HasValue, x => x.Flow == input.Flow)
                 .WhereIf(input.TimeBegin.HasValue, x => x.FinishTime >= input.TimeBegin)
                 .WhereIf(input.TimeEnd.HasValue, x => x.FinishTime <= input.TimeEnd)
                 .Select(x => new LifePayConsumptionListOutput()
@@ -71,12 +71,15 @@
                     FrozenStatus = x.FrozenStatus,
                     Flow = x.Flow,
                     DeductionAmount = x.DeductionAmount,
+                    FrozenAmount = x.FrozenAmount.Value
                 })
                 .GetPageResult(input.PageModel);
 
-            var total = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.RechargeAmount);
-            LifePayRechargeReceiptsStatistics objectData = new LifePayRechargeReceiptsStatistics();
-            objectData.TotalRechargeAmount = total;
+            var totalDeductionAmount = await _lifePayConsumption.Where(x => x.IsDeleted == false).SumAsync(x => x.DeductionAmount);
+            var totalFrozenAmount = await _lifePayConsumption.Where(x => x.IsDeleted == false).SumAsync(x => x.FrozenAmount);
+            LifePayConsumptionStatistics objectData = new LifePayConsumptionStatistics();
+            objectData.TotalDeductionAmount = totalDeductionAmount;
+            objectData.TotalFrozenAmount = totalFrozenAmount.Value;
             list.ObjectData = objectData;
             return list;
         }
@@ -244,7 +247,6 @@
             }
         }
 
-
         /// <summary>
         /// 鎻掑叆鏀舵敮娴佹按
         /// </summary>
@@ -322,6 +324,33 @@
             }
         }
 
+        /// <summary>
+        /// 缁熻鎵�鏈夋秷璐规祦姘�
+        /// </summary>
+        /// <returns></returns>
+        public async Task GetAllLifePayConsumption()
+        {
+            var orderList = await _lifePayOrderRepository.Where(x => x.PayStatus == LifePayStatusEnum.宸叉敮浠�).ToListAsync();
+            
+            foreach (var item in orderList)
+            {
+                LifePayConsumption lifePayConsumption = new LifePayConsumption()
+                {
+                    OrderNo = item.OrderNo,
+                    OutOrderNo = item.OutOrderNo,
+                    //Amount = item.PayAmount,
+
+                };
+                //switch (item.ACOOLYStatus)
+                //{
+                //    case ACOOLYStatusEnum.鍏呭�间腑: 
+                        
+                //        break;
+                //    default:break;
+                //}
+            }
+        }
+
         public async Task GetAllLifePayExpensesReceipts()
         {
             var orderlist = await (from a in _lifePayOrderRepository.Where(x => x.PayStatus >= LifePayStatusEnum.宸叉敮浠�)
diff --git a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
index 4998753..4b9a3c5 100644
--- a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
@@ -138,6 +138,38 @@
             }
 
             return receiptsListOutPut;
+        }
+
+        public async Task<ChannlesRakeListOutPut> GetChannlesRakeList(List<string> channleList)
+        {
+            var today = DateTime.Now.Date;
+            var statistics = await _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false)
+                            .WhereIf(channleList.Count() > 0, x => channleList.Contains(x.ChannelId))
+                            .ToListAsync();
+            var groupedStatistics = statistics
+               .GroupBy(x => x.CreationTime)
+               .Select(g => new
+               {
+                   CreationTime = g.Key,
+                   ChannlesRakePrice = g.Sum(x => x.ChannlesRakePrice),
+               })
+               .ToList();
+
+
+            ChannlesRakeListOutPut channlesRakeListOutPut = new ChannlesRakeListOutPut();
+
+            foreach (var item in groupedStatistics)
+            {
+                ReceiptsDetail receive = new ReceiptsDetail()
+                {
+                    CreationTime = item.CreationTime.ToString("yyyy-MM-dd"),
+                    Amount = item.ChannlesRakePrice
+                };
+
+                channlesRakeListOutPut.ChannlesRakeList.Add(receive);
+            }
+
+            return channlesRakeListOutPut;
 
         }
 
@@ -164,7 +196,7 @@
             {
                 ChannelDataReceive receive = new ChannelDataReceive()
                 {
-                    ChannelId = item.ChannelId,
+                    ChannelName = _lifePayChannlesRep.Where(x => x.ChannlesNum == item.ChannelId).FirstOrDefault().ChannlesName,
                     ReceivePrice = item.ReceivePrice,
                     ChannlesRakePrice = item.ChannlesRakePrice,
                 };
@@ -190,7 +222,7 @@
             {
                 ChannelDataUserNumber usernumber = new ChannelDataUserNumber()
                 {
-                    ChannelId = item.ChannelId,
+                    ChannelName = _lifePayChannlesRep.Where(x => x.ChannlesNum == item.ChannelId).FirstOrDefault().ChannlesName,
                     Number = item.Number,
                 };
                 if (channelDataList.UserNumberList.Count() < 5)
@@ -256,7 +288,8 @@
                 YesterdayFail = yesterdayFail,
                 AccumulatedUsers = accumulatedUsers,
                 YesterdayActiveUsers = yesterdayActiveUsers,
-                ChannelId = channleId
+                ChannelId = channleId,
+                Date = today.AddDays(-1)
             };
             await _dallyStatisticsRepository.InsertAsync(entity);
             return entity;
diff --git a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs
index a5cb249..919e81b 100644
--- a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs
+++ b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs
@@ -9,7 +9,9 @@
 public class DallyStatistics : Entity<Guid>
 {
 
-
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
     public DateTime CreationTime { get; set; }
 
     /// <summary>
@@ -72,4 +74,9 @@
     /// 缁熻娓犻亾
     /// </summary>
     public string ChannelId { get; set; }
+
+    /// <summary>
+    /// 缁熻鏃ユ湡
+    /// </summary>
+    public DateTime Date { get; set; }
 }
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
index fb8cfab..07b961e 100644
--- a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -268,6 +268,13 @@
             <param name="input"></param>
             <returns></returns>
         </member>
+        <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayConsumptionPage(LifePayment.Application.Contracts.LifePayConsumptionPageInput)">
+            <summary>
+            鑾峰彇娑堣垂娴佹按鍒嗛〉鏁版嵁
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
         <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayRechargeReceiptsPage(LifePayment.Application.Contracts.LifePayRechargeReceiptsPageInput)">
             <summary>
             鑾峰彇鍏呭�兼祦姘村垎椤垫暟鎹�
diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
index cde063b..84805de 100644
--- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -1744,6 +1744,16 @@
             鍦ㄧ嚎瀹㈡湇閾炬帴
             </summary>
         </member>
+        <member name="P:LifePayment.Application.Contracts.LifePayConsumptionStatistics.TotalDeductionAmount">
+            <summary>
+            绱鎵f
+            </summary>
+        </member>
+        <member name="P:LifePayment.Application.Contracts.LifePayConsumptionStatistics.TotalFrozenAmount">
+            <summary>
+            鍐荤粨涓�
+            </summary>
+        </member>
         <member name="P:LifePayment.Application.Contracts.LifePayRechargeReceiptsStatistics.TotalRechargeAmount">
             <summary>
             绱鍏呭��
@@ -1784,7 +1794,11 @@
             缂栧彿
             </summary>
         </member>
-        <!-- Badly formed XML comment ignored for member "P:LifePayment.Application.Contracts.LifePayConsumptionListOutput.OrderNo" -->
+        <member name="P:LifePayment.Application.Contracts.LifePayConsumptionListOutput.OrderNo">
+            <summary>
+            骞冲彴璁㈠崟鍙�
+            </summary>
+        </member>
         <member name="P:LifePayment.Application.Contracts.LifePayConsumptionListOutput.OutOrderNo">
             <summary>
             娓犻亾娴佹按鍙�
@@ -1920,6 +1934,11 @@
             閲戦
             </summary>
         </member>
+        <member name="P:LifePayment.Application.Contracts.ChannlesRakeListOutPut.ChannlesRakeList">
+            <summary>
+            30澶╀剑閲�
+            </summary>
+        </member>
         <member name="P:LifePayment.Application.Contracts.ChannelDataListOutPut.ReceiveList">
             <summary>
             Top5娓犻亾鏀舵
@@ -1930,9 +1949,9 @@
             Top5娓犻亾鐢ㄦ埛
             </summary>
         </member>
-        <member name="P:LifePayment.Application.Contracts.ChannelDataReceive.ChannelId">
+        <member name="P:LifePayment.Application.Contracts.ChannelDataReceive.ChannelName">
             <summary>
-            娓犻亾缂栧彿
+            娓犻亾鍚嶇О
             </summary>
         </member>
         <member name="P:LifePayment.Application.Contracts.ChannelDataReceive.ReceivePrice">
@@ -1945,9 +1964,9 @@
             浣i噾
             </summary>
         </member>
-        <member name="P:LifePayment.Application.Contracts.ChannelDataUserNumber.ChannelId">
+        <member name="P:LifePayment.Application.Contracts.ChannelDataUserNumber.ChannelName">
             <summary>
-            娓犻亾缂栧彿
+            娓犻亾鍚嶇О
             </summary>
         </member>
         <member name="P:LifePayment.Application.Contracts.ChannelDataUserNumber.Number">
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
index 606efc1..3bfe783 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -79,6 +79,13 @@
             return await _statisticsService.GetChannelDataList(input.ChannleList);
         }
 
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<ChannlesRakeListOutPut> GetChannlesRakeList(TopStatisticsInput input)
+        {
+            return await _statisticsService.GetChannlesRakeList(input.ChannleList);
+        }
+
         /// <summary>
         /// 鑾峰彇鐢佃垂闈㈠��
         /// </summary>
@@ -453,6 +460,17 @@
             return data;
         }
         /// <summary>
+        /// 鑾峰彇娑堣垂娴佹按鍒嗛〉鏁版嵁
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PageOutput<LifePayConsumptionListOutput>> GetLifePayConsumptionPage(LifePayConsumptionPageInput input)
+        {
+            return await _lifePayOrderService.GetLifePayConsumptionPage(input);
+        }
+
+        /// <summary>
         /// 鑾峰彇鍏呭�兼祦姘村垎椤垫暟鎹�
         /// </summary>
         /// <param name="input"></param>

--
Gitblit v1.9.1