From e08d70b9e610a2c176b88cb092d580754e009de5 Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期二, 01 四月 2025 15:41:04 +0800 Subject: [PATCH] 统计 --- LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 138 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 132 insertions(+), 6 deletions(-) diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index 9cef37a..606efc1 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs @@ -1,6 +1,7 @@ 锘縰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; @@ -50,12 +51,32 @@ /// <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> + /// 鑾峰彇30鏃ユ敹娆剧粺璁� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [AllowAnonymous] + public async Task<ReceiptsListOutPut> GetReceiptsList(TopStatisticsInput input) + { + return await _statisticsService.GetReceiptsList(input.ChannleList); + } + + [HttpPost] + [AllowAnonymous] + public async Task<ChannelDataListOutPut> GetChannelDataList(TopStatisticsInput input) + { + return await _statisticsService.GetChannelDataList(input.ChannleList); } /// <summary> @@ -437,9 +458,47 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost] - public async Task<LifePayRechargeReceiptsPageOutput<LifePayRechargeReceiptsListOutput>> GetLifePayRechargeReceiptsPage(LifePayRechargeReceiptsPageInput input) + 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> @@ -451,7 +510,16 @@ [AllowAnonymous] public async Task<Alipay.EasySDK.Payment.Common.Models.AlipayTradeQueryResponse> QueryAlipayTrade(OrderInQuiryInput input) { - return await _lifePayService.QueryAlipayTrade(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> @@ -475,9 +543,67 @@ [AllowAnonymous] public async Task<WxPayDomesticRefundsQueryReponse> WxPayDomesticRefundsQuery(string outTradeNo) { - return await _lifePayService.WxPayDomesticRefundsQuery(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(); + } + + #endregion #region 鎿嶄綔 -- Gitblit v1.9.1