From 7f36c8b49b888cbf440ea400336a11abf4cab018 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 01 四月 2025 11:19:40 +0800 Subject: [PATCH] Merge branch 'dev-lifepay-v1.3' of http://120.26.58.240:8888/r/LifePaymentApi into dev-lifepay-v1.3 --- LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 353 insertions(+), 7 deletions(-) diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index b2bf63f..5dd5a70 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; @@ -20,20 +24,41 @@ public class LifePayController : AbpController { 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, - IWebClientInfoProvider webClientInfoProvider - , ILogger<LifePayController> logger + IStatisticsService statisticsService, + IWebClientInfoProvider webClientInfoProvider, + ICommonService commonService, + ILifePayOrderService lifePayOrderService, + ILogger<LifePayController> logger ) { _lifePayService = lifePayService; + _statisticsService = statisticsService; _webClientInfoProvider = webClientInfoProvider; + _commonService = commonService; + _lifePayOrderService = lifePayOrderService; _logger = logger; } #region 鏌ヨ + + /// <summary> + /// 鑾峰彇椤堕儴缁熻鏁版嵁 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [AllowAnonymous] + public async Task<TopStatisticsOutput> GetTopStatistics(TopStatisticsInput input) + { + return await _statisticsService.GetTopStatistics(input.ChannleList); + } /// <summary> /// 鑾峰彇鐢佃垂闈㈠�� @@ -111,7 +136,7 @@ } /// <summary> - /// 鑾峰彇鐕冩皵鏀寔鍟嗘埛 + /// 娣诲姞鏃ュ織 /// </summary> /// <returns></returns> [HttpPost] @@ -119,7 +144,7 @@ public async Task<int> AddLogger(LogErrorInput input) { - Logger.LogError(input.Error); + Logger.LogError("鍓嶇閿欒锛�" + input.Error); return Constant.SUCCESS; } @@ -136,12 +161,56 @@ } /// <summary> + /// 鑾峰彇娓犻亾鎶樻墸 + /// </summary> + /// <returns></returns> + [HttpPost] + [AllowAnonymous] + public async Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input) + { + return await _lifePayService.GetChannelRate(input); + } + + /// <summary> + /// 鑾峰彇鎵嬬画璐硅垂鐜� + /// </summary> + /// <returns></returns> + [HttpGet] + [AllowAnonymous] + public async Task<List<LifePayPremiumListOutput>> GetPremium() + { + return await _lifePayService.GetPremium(); + } + + /// <summary> + /// 鑾峰彇椤荤煡 + /// </summary> + /// <returns></returns> + [HttpGet] + [AllowAnonymous] + public async Task<List<LifePayIntroInfoOutput>> GetIntroInfo(LifePayOrderTypeEnum type) + { + return await _lifePayService.GetIntroInfo(type); + } + + /// <summary> + /// 鑾峰彇鍦ㄧ嚎瀹㈡湇 + /// </summary> + /// <returns></returns> + [HttpGet] + [AllowAnonymous] + public async Task<string> GetOnlineService() + { + return await _commonService.GetOnlineService(); + } + + /// <summary> /// 鑾峰彇鐢ㄦ埛鍒嗛〉鏁版嵁 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost] - public async Task<PageOutput<UserListOutput>> GetUserPage(PageInput input) + public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input) { return await _lifePayService.GetUserPage(input); } @@ -155,6 +224,39 @@ public async Task<PageOutput<LifePayOrderListOutput>> GetLifePayOrderPage(QueryLifePayOrderListInput input) { return await _lifePayService.GetLifePayOrderPage(input); + } + + /// <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> + /// <returns></returns> + [HttpGet] + public async Task<LifePayOrderOutput> GetLifePayOrderDetail(string orderNo) + { + return await _lifePayService.GetLifePayOrderDetail(orderNo); + } + + /// <summary> + /// 鑾峰彇閫�娆捐鍗曡鎯� + /// </summary> + /// <param name="orderNo"></param> + /// <returns></returns> + [HttpGet] + public async Task<LifePayRefundOrderOutput> GetLifePayRefundOrderDetail(string orderNo) + { + return await _lifePayService.GetLifePayRefundOrderDetail(orderNo); } /// <summary> @@ -205,6 +307,15 @@ public async Task<PageOutput<CreateEditPayChannelsInput>> GetLifePayChannlesPage(PageInput input) { return await _lifePayService.GetLifePayChannlesPage(input); + } + + /// <summary> + /// 鑾峰彇鍏ㄩ儴缂磋垂娓犻亾 + /// </summary> + [HttpGet] + public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList() + { + return await _lifePayService.GetLifePayChannlesAllList(); } /// <summary> @@ -294,9 +405,185 @@ var bytes = ExcelHelper.ListToByteForExcel(data, "xlsx"); return File(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "璁㈠崟绠$悊" + ".xlsx"); } - 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) + { + var data = await _lifePayService.GetBillErceiptExport(orderNo); + + return data; + } + /// <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(); + } + #endregion @@ -339,6 +626,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> @@ -446,6 +744,54 @@ } /// <summary> + /// 鎵嬬画璐硅垂鐜囬厤缃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + public async Task<int> CreateEditLifePayPremium(List<LifePayPremiumInput> input) + { + await _lifePayService.CreateEditLifePayPremium(input); + return Constant.SUCCESS; + } + + /// <summary> + /// 椤荤煡閰嶇疆 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + public async Task<int> EditIntroInfo(LifePayIntroInfoInput input) + { + await _lifePayService.EditIntroInfo(input); + return Constant.SUCCESS; + } + + /// <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