From 02f5cf149ac0fecd8c7ee67bf57fb814d8464ba4 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期三, 02 四月 2025 16:31:09 +0800
Subject: [PATCH] fix:统计bug修复

---
 LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs |  321 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 313 insertions(+), 8 deletions(-)

diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
index a7d2889..f060b43 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -1,4 +1,8 @@
-锘縰sing LifePayment.Application.Contracts;
+锘縰sing Alipay.AopSdk.F2FPay.Model;
+using LifePayment.Application.Contracts;
+using LifePayment.Application.LifePay;
+using LifePayment.Domain;
+using LifePayment.Domain.Common;
 using LifePayment.Domain.Shared;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
@@ -22,17 +26,23 @@
         private readonly ILifePayService _lifePayService;
         private readonly IStatisticsService _statisticsService;
         private readonly IWebClientInfoProvider _webClientInfoProvider;
+        private readonly ICommonService _commonService;
+        private readonly ILifePayOrderService _lifePayOrderService;
         private readonly ILogger<LifePayController> _logger;
         public LifePayController(
               ILifePayService lifePayService,
               IStatisticsService statisticsService,
-              IWebClientInfoProvider webClientInfoProvider
-            , ILogger<LifePayController> logger
+              IWebClientInfoProvider webClientInfoProvider,
+              ICommonService commonService,
+              ILifePayOrderService lifePayOrderService,
+              ILogger<LifePayController> logger
               )
         {
             _lifePayService = lifePayService;
             _statisticsService = statisticsService;
             _webClientInfoProvider = webClientInfoProvider;
+            _commonService = commonService;
+            _lifePayOrderService = lifePayOrderService;
             _logger = logger;
         }
 
@@ -41,12 +51,62 @@
         /// <summary>
         /// 鑾峰彇椤堕儴缁熻鏁版嵁
         /// </summary>
+        /// <param name="input"></param>
         /// <returns></returns>
-        [HttpGet]
+        [HttpPost]
         [AllowAnonymous]
-        public async Task<TopStatisticsOutput> GetTopStatistics()
+        public async Task<TopStatisticsOutput> GetTopStatistics(TopStatisticsInput input)
         {
-            return await _statisticsService.GetTopStatistics();
+            return await _statisticsService.GetTopStatistics(input.ChannleList);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鎸囧畾澶╂暟鐨勭粺璁℃暟鎹�
+        /// </summary>
+        /// <param name="days"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<int> StatisticsByDate(int days)
+        {
+            await _statisticsService.StatisticsByDate(days);
+            return Constant.SUCCESS;
+        }
+
+        /// <summary>
+        /// 鑾峰彇30鏃ユ敹娆剧粺璁�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<ReceiptsListOutPut> GetReceiptsList(TopStatisticsInput input)
+        {
+            return await _statisticsService.GetReceiptsList(input.ChannleList);
+        }
+
+        /// <summary>
+        /// 娓犻亾鏁版嵁
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<ChannelDataListOutPut> GetChannelDataList(TopStatisticsInput input)
+        {
+            return await _statisticsService.GetChannelDataList(input.ChannleList);
+        }
+
+        /// <summary>
+        /// 30鏃ヤ剑閲戝垪琛�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<ChannlesRakeListOutPut> GetChannlesRakeList(TopStatisticsInput input)
+        {
+            return await _statisticsService.GetChannlesRakeList(input.ChannleList);
         }
 
         /// <summary>
@@ -150,6 +210,17 @@
         }
 
         /// <summary>
+        /// 鑾峰彇娓犻亾鎶樻墸
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input)
+        {
+            return await _lifePayService.GetChannelRate(input);
+        }
+
+        /// <summary>
         /// 鑾峰彇鎵嬬画璐硅垂鐜�
         /// </summary>
         /// <returns></returns>
@@ -171,6 +242,16 @@
             return await _lifePayService.GetIntroInfo(type);
         }
 
+        /// <summary>
+        /// 鑾峰彇鍦ㄧ嚎瀹㈡湇
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task<string> GetOnlineService()
+        {
+            return await _commonService.GetOnlineService();
+        }
 
         /// <summary>
         /// 鑾峰彇鐢ㄦ埛鍒嗛〉鏁版嵁
@@ -281,9 +362,9 @@
         /// 鑾峰彇鍏ㄩ儴缂磋垂娓犻亾
         /// </summary>
         [HttpGet]
-        public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList()
+        public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList(QueryLifePayChannlesInput input)
         {
-            return await _lifePayService.GetLifePayChannlesAllList();
+            return await _lifePayService.GetLifePayChannlesAllList(input);
         }
 
         /// <summary>
@@ -376,6 +457,24 @@
             return Json(default);
         }
 
+        /// <summary>
+        /// 瀵煎嚭閫�娆捐鍗旹xcel
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input)
+        {
+            var data = await _lifePayService.GetLifePayRefudOrderPageExport(input);
+            if (data.Any())
+            {
+                var bytes = ExcelHelper.ListToByteForExcel(data, "xlsx");
+                return File(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "閫�娆剧鐞�" + ".xlsx");
+            }
+            return Json(default);
+        }
+
+
         [HttpGet]
         public async Task<string> GetBillErceiptExport(string orderNo)
         {
@@ -383,7 +482,178 @@
 
             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>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PageOutput<LifePayRechargeReceiptsListOutput>> GetLifePayRechargeReceiptsPage(LifePayRechargeReceiptsPageInput input)
+        {
+            return await _lifePayOrderService.GetLifePayRechargeReceiptsPage(input);
+        }
+
+        /// <summary>
+        /// 鑾峰彇娓犻亾鍒嗕剑鍒嗛〉鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PageOutput<LifePayChannlesRakeListOutput>> GetLifePayChannlesRakePage(LifePayChannlesRakePageInput input)
+        {
+            return await _lifePayOrderService.GetLifePayChannlesRakePage(input);
+        }
+
+        /// <summary>
+        /// 瀵煎嚭娓犻亾鍒嗕剑Excel
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<ActionResult> GetLifePayChannlesRakePageExport(LifePayChannlesRakePageInput input)
+        {
+            var data = await _lifePayOrderService.GetLifePayChannlesRakePageExport(input);
+            if (data.Any())
+            {
+                var bytes = ExcelHelper.ListToByteForExcel(data, "xlsx");
+                return File(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "娓犻亾鍒嗕剑" + ".xlsx");
+            }
+            return Json(default);
+        }
+        /// <summary>
+        /// 鑾峰彇鏀舵敮娴佹按鍒嗛〉鏁版嵁
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PageOutput<LifePayExpensesReceiptsListOutput>> GetLifePayExpensesReceiptsPage(LifePayExpensesReceiptsPageInput input)
+        {
+            return await _lifePayOrderService.GetLifePayExpensesReceiptsPage(input);
+        }
+
+        /// <summary>
+        /// 鏌ヨ鏀粯瀹濇敮浠樿鍗曚俊鎭�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<Alipay.EasySDK.Payment.Common.Models.AlipayTradeQueryResponse> QueryAlipayTrade(OrderInQuiryInput input)
+        {
+            var res = await _lifePayService.QueryAlipayTrade(input);
+            //await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
+            //{
+            //    OrderNo = input.OutTradeNo,
+            //    OutOrderNo = res.TradeNo,
+            //    LifePayType = LifePayTypeEnum.AliPay,
+            //    ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses,
+            //    Amount = Convert.ToDecimal(res.ReceiptAmount)
+            //});
+            return res;
+        }
+
+        /// <summary>
+        /// 鏌ヨ鏀粯瀹濋��娆捐鍗曚俊鎭�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<Alipay.EasySDK.Payment.Common.Models.AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input)
+        {
+            return await _lifePayService.QueryAlipayTradeRefund(input);
+        }
+
+        /// <summary>
+        /// 鏌ヨ寰俊閫�娆句俊鎭�
+        /// </summary>
+        /// <param name="outTradeNo"></param>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task<WxPayDomesticRefundsQueryReponse> WxPayDomesticRefundsQuery(string outTradeNo)
+        {
+            var res = await _lifePayService.WxPayDomesticRefundsQuery(outTradeNo);
+            if (res.Code == WxpayResultCode.Success)
+            {
+                await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
+                {
+                    OrderNo = res.OutTradeNo,
+                    OutRefundNo = res.RefundId,
+                    OutOrderNo = res.TransactionId,
+                    LifePayType = LifePayTypeEnum.WxPay,
+                    ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses,
+                    Amount = Convert.ToDecimal(res.Amount.Total)
+                });
+            }
+            return res;
+
+        }
+
+        /// <summary>
+        /// 鏌ヨ寰俊璁㈠崟淇℃伅
+        /// </summary>
+        /// <param name="outTradeNo"></param>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task<WxPayTradeQueryReponse> WxPayTradeQuery(string outTradeNo)
+        {
+            var res = await _lifePayService.WxPayTradeQuery(outTradeNo);
+            await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
+            {
+                OrderNo = res.OutTradeNo,
+                OutOrderNo = res.TransactionId,
+                LifePayType = LifePayTypeEnum.WxPay,
+                ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses,
+                Amount = Convert.ToDecimal(res.Amount.Total)
+            });
+            return res;
+        }
+
+        /// <summary>
+        /// 鍚屾璁㈠崟鏀舵敮淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task GetAllLifePayExpensesReceipts()
+        {
+            await _lifePayOrderService.GetAllLifePayExpensesReceipts();
+        }
+
+        /// <summary>
+        /// 鍚屾璁㈠崟鍒嗕剑淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task GetAllChannlesRake()
+        {
+            await _lifePayOrderService.GetAllChannlesRake();
+        }
+
+        /// <summary>
+        /// 缁熻浜ゆ槗娴佹按
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task GetAllLifePayConsumption()
+        {
+            await _lifePayOrderService.GetAllLifePayConsumption();
+        }
         #endregion
 
         #region 鎿嶄綔
@@ -425,6 +695,17 @@
         public async Task<CreateLifePayOrderOutput> CreateLifePayGasOrder(CreateLifePayOrderInput<LifeGasData> input)
         {
             return await _lifePayService.CreateLifePayGasOrder(input);
+        }
+
+        /// <summary>
+        /// 淇敼瀹為檯鍒拌处閲戦
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<int> UpdateLifePayOrderActualReceivedAmount(UpdateLifePayOrderInput input)
+        {
+            return await _lifePayService.UpdateLifePayOrderActualReceivedAmount(input);
         }
 
         /// <summary>
@@ -556,6 +837,30 @@
         }
 
         /// <summary>
+        /// 鍦ㄧ嚎瀹㈡湇閰嶇疆
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<int> UpdateOnlineService(OnlineServiceInput input)
+        {
+            await _commonService.UpdateOnlineService(input);
+            return Constant.SUCCESS;
+        }
+
+        /// <summary>
+        /// 涓婁紶鍏呭�兼祦姘�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<int> AddUpdatePayRechargeReceipts(AddUpdatePayRechargeReceiptsInput input)
+        {
+            await _lifePayOrderService.AddUpdatePayRechargeReceipts(input);
+            return Constant.SUCCESS;
+        }
+
+        /// <summary>
         /// 璁剧疆鐢熸椿缂磋垂鏀粯绫诲瀷
         /// </summary>
         /// <param name="input"></param>

--
Gitblit v1.9.1