From f6e850306e153af78ea376b2096dcf9d742b3055 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期五, 21 三月 2025 11:33:36 +0800
Subject: [PATCH] fix:提交

---
 LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs             |   15 ++++
 LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs                |    8 +-
 LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs |    1 
 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs    |   63 +++++++++++++++++++++
 LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs        |    2 
 LifePayment/LifePayment.Application/LifePay/LifePayService.cs            |   82 +++++++++++++++++++++++----
 6 files changed, 152 insertions(+), 19 deletions(-)

diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
index 604b07b..00e1bc6 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -192,6 +192,7 @@
     /// <returns></returns>
     Task<PageOutput<LifePayOrderListOutput>> GetLifePayOrderPage(QueryLifePayOrderListInput input);
 
+    Task<PageOutput<LifePayOrderListOutput>> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input);
 
     /// <summary>
     /// 鑾峰彇璁㈠崟璇︽儏
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
index 5d12f06..39b7289 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
@@ -259,6 +259,11 @@
     public LifePayStatusEnum? PayStatus { get; set; }
 
     /// <summary>
+    /// 渚涘簲鍟嗙姸鎬�
+    /// </summary>
+    public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
+
+    /// <summary>
     /// 璁㈠崟鐘舵��
     /// </summary>
     public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; }
@@ -284,6 +289,64 @@
     public string KeyWords { get; set; }
 
 }
+public class QueryLifePayRefundOrderListInput : ChannelsBaseInput
+{
+    /// <summary>
+    /// 璁㈠崟绫诲瀷
+    /// </summary>
+    public LifePayOrderTypeEnum? LifePayOrderType { get; set; }
+
+    /// <summary>
+    /// 鐢熸椿缂磋垂鏀粯绫诲瀷
+    /// </summary>
+    public LifePayTypeEnum? LifePayType { get; set; }
+
+    /// <summary>
+    /// 寮�濮嬬敵璇烽��娆炬椂闂�
+    /// </summary>
+    public DateTime? BeginRefundApplyTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鐢宠閫�娆炬椂闂�
+    /// </summary>
+    public DateTime? EndRefundApplyTime { get; set; }
+
+    /// <summary>
+    /// 寮�濮嬪畬鎴愭椂闂�
+    /// </summary>
+    public DateTime? BeginFinishTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫瀹屾垚鏃堕棿
+    /// </summary>
+    public DateTime? EndFinishTime { get; set; }
+
+    /// <summary>
+    /// 鏀粯鐘舵��
+    /// </summary>
+    public LifePayStatusEnum? PayStatus { get; set; }
+
+    /// <summary>
+    /// 渚涘簲鍟嗙姸鎬�
+    /// </summary>
+    public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
+
+    /// <summary>
+    /// 璁㈠崟鐘舵��
+    /// </summary>
+    public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    public Guid? UserId { get; set; }
+
+    /// <summary>
+    /// 鎼滅储鍏抽敭璇�
+    /// </summary>
+    public string KeyWords { get; set; }
+
+}
 
 public class RefundLifePayOrderInput
 {
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index c9a5092..2755ca3 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -95,24 +95,30 @@
 
     public async Task<TopStatisticsOutput> GetTopStatistics()
     {
-        var today = DateTime.Now.ToString("yyyy-MM-dd");
-        var statistics = await _dallyStatisticsRepository.Where(x => x.CreationTime.ToString("yyyy-MM-dd") == today).FirstOrDefaultAsync();
+        var today = DateTime.Now.Date;
+        var statistics = await _dallyStatisticsRepository.Where(x => x.CreationTime.Date == today).FirstOrDefaultAsync();
         if (statistics == null)
         {
-            //var accumulatedReceipts = await _lifePayOrderRepository.Where(x => x.CreationTime < today).SumAsync(x => x.PayAmount);
+            var accumulatedReceipts = await _lifePayOrderRepository.Where(x => x.CreationTime < today).SumAsync(x => x.PayAmount);
+            var receiptsYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today).SumAsync(x => x.PayAmount);
+            var accumulatedOrders = await _lifePayOrderRepository.Where(x => x.CreationTime < today).CountAsync();
+            var ordersNumYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today).CountAsync();
+            var yesterdaySuccess = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�).CountAsync();
+            var yesterdayFail = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插け璐�).CountAsync();
+            var accumulatedUsers = await _lifePayUserRepository.CountAsync();
 
             var entity = new DallyStatistics()
             {
                 Id = GuidGenerator.Create(),
                 CreationTime = DateTime.Now,
                 Amount = "0",
-                AccumulatedReceipts = "0",
-                ReceiptsYesterda = "0",
-                AccumulatedOrders = "0",
-                OrdersNumYesterda = "0",
-                YesterdaSuccess = "0",
-                YesterdaFail = "0",
-                AccumulatedUsers = "0",
+                AccumulatedReceipts = accumulatedReceipts.ToString(),
+                ReceiptsYesterday = receiptsYesterday.ToString(),
+                AccumulatedOrders = accumulatedOrders.ToString(),
+                OrdersNumYesterday = ordersNumYesterday.ToString(),
+                YesterdaySuccess = yesterdaySuccess.ToString(),
+                YesterdayFail = yesterdayFail.ToString(),
+                AccumulatedUsers = accumulatedUsers.ToString(),
             };
 
             return new TopStatisticsOutput();
@@ -122,7 +128,6 @@
             var result = ObjectMapper.Map<DallyStatistics,TopStatisticsOutput>(statistics);
             return result;
         }
-
     }
 
     /// <summary>
@@ -274,6 +279,58 @@
                                             .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,
+                                ActualRechargeAmount = a.ActualRechargeAmount,
+                                PlatformDeductionAmount = a.PlatformDeductionAmount,
+                                ACOOLYStatus = a.ACOOLYStatus,
+                                LifePayRefundStatus = a.LifePayRefundStatus,
+                            }).GetPageResult(input.PageModel);
+
+        return result;
+    }
+
+    public async Task<PageOutput<LifePayOrderListOutput>> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input)
+    {
+
+        var result = await (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository)
+        .Where(x => x.PayStatus == LifePayStatusEnum.寰呴��娆� || x.PayStatus == LifePayStatusEnum.宸查��娆� || x.PayStatus == LifePayStatusEnum.閫�娆句腑
+        || x.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆惧緟瀹℃牳 || x.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆� || x.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆惧け璐�
+        || x.LifePayRefundStatus > LifePayRefundStatusEnum.鏃犻渶閫�娆�)
+                                            .WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime)
+                                            .WhereIf(input.EndFinishTime.HasValue, x => x.FinishTime <= input.EndFinishTime)
+                                            .WhereIf(input.BeginRefundApplyTime.HasValue, x => x.RefundApplyTime >= input.BeginRefundApplyTime)
+                                            .WhereIf(input.LifePayType.HasValue, x => x.LifePayType == input.LifePayType)
+                                            .WhereIf(input.EndRefundApplyTime.HasValue, x => x.RefundApplyTime <= input.EndRefundApplyTime)
+                                            .WhereIf(input.LifePayOrderStatus.HasValue, x => x.LifePayOrderStatus == input.LifePayOrderStatus.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))
@@ -1139,6 +1196,7 @@
                     break;
             }
 
+            order.LifePayRefundStatus = LifePayRefundStatusEnum.鏃犻渶閫�娆�;
             order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�;
             //SetOrderStatus(order, result.Code);
             order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo;
@@ -1148,7 +1206,7 @@
         {
             _logger.LogError(ex, "澶勭悊鐢熸椿缂磋垂鏀粯鎴愬姛鍥炶皟鏃跺紓甯�");
             order.LifePayOrderStatus = LifePayOrderStatusEnum.宸插け璐�;
-            order.PayStatus = LifePayStatusEnum.寰呴��娆�;
+            order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�;
         }
         _logger.LogError("鐢熸椿缂磋垂璁㈠崟鐘舵�侊細" + order.LifePayOrderStatus.ToString());
         await _lifePayOrderRepository.UpdateAsync(order);
diff --git a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
index 585f39d..0979050 100644
--- a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
+++ b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
@@ -49,7 +49,7 @@
     [Description("宸插け璐�")]
     宸插け璐� = 20,
 
-    [Description("鏀粯瀹濇敮浠�")]
+    [Description("宸插畬鎴�")]
     宸插畬鎴� = 30,
 
     [Description("閫�娆惧緟瀹℃牳")]
diff --git a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs
index 5573d52..590a901 100644
--- a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs
+++ b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs
@@ -30,7 +30,7 @@
     /// <summary>
     /// 鏄ㄦ棩鏀舵
     /// </summary>
-    public string ReceiptsYesterda { get; set; }
+    public string ReceiptsYesterday { get; set; }
 
     /// <summary>
     /// 绱涓嬪崟
@@ -40,17 +40,17 @@
     /// <summary>
     /// 鏄ㄦ棩涓嬪崟
     /// </summary>
-    public string OrdersNumYesterda { get; set; }
+    public string OrdersNumYesterday { get; set; }
 
     /// <summary>
     /// 鏄ㄦ棩鎴愬姛
     /// </summary>
-    public string YesterdaSuccess { get; set; }
+    public string YesterdaySuccess { get; set; }
 
     /// <summary>
     /// 鏄ㄦ棩澶辫触
     /// </summary>
-    public string YesterdaFail { get; set; }
+    public string YesterdayFail { get; set; }
 
     /// <summary>
     /// 绱鐢ㄦ埛
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
index 856ba52..72c0935 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -192,6 +192,17 @@
         }
 
         /// <summary>
+        /// 鑾峰彇璁㈠崟鍒嗛〉鏁版嵁
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PageOutput<LifePayOrderListOutput>> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input)
+        {
+            return await _lifePayService.GetLifePayRefundOrderPage(input);
+        }
+
+        /// <summary>
         /// 鑾峰彇璁㈠崟璇︽儏
         /// </summary>
         /// <param name="orderNo"></param>
@@ -364,12 +375,12 @@
         }
 
         [HttpGet]
-        public async Task<ActionResult> GetBillErceiptExport(string orderNo)
+        public async Task<string> GetBillErceiptExport(string orderNo)
         {
             var data = await _lifePayService.GetBillErceiptExport(orderNo);
            
 
-            return Json(default);
+            return data;
         }
 
         #endregion

--
Gitblit v1.9.1