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 | 303 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 295 insertions(+), 8 deletions(-) diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index ed87e63..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> @@ -401,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 鎿嶄綔 @@ -443,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> @@ -574,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