From 0846b628ebd2e657a7fb070df41569d38556a476 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 10 四月 2025 10:56:26 +0800 Subject: [PATCH] fix: ACOOLYNotify 回调状态修改 --- LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 439 insertions(+), 5 deletions(-) diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index fde6a23..41bc341 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs @@ -1,7 +1,12 @@ -锘縰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; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -19,17 +24,90 @@ 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 + 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> + /// 鑾峰彇鎸囧畾澶╂暟鐨勭粺璁℃暟鎹� + /// </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> /// 鑾峰彇鐢佃垂闈㈠�� @@ -54,7 +132,8 @@ { var aresResult = await _lifePayService.GetElectricSupportArea(); var parValues = await _lifePayService.GetElectricParValue(); - + CheckExtensions.IfTrueThrowUserFriendlyException(aresResult == null, "鐢佃垂鍏呭�煎尯鍩熶笉瀛樺湪"); + CheckExtensions.IfTrueThrowUserFriendlyException(parValues == null, "鐢佃垂闈㈤涓嶅瓨鍦�"); foreach (var item in aresResult.ElectricAreaList) { var paritem = parValues.ElectricParValue.Where(r => r.AreaName == item.CityName).FirstOrDefault(); @@ -106,6 +185,20 @@ } /// <summary> + /// 娣诲姞鏃ュ織 + /// </summary> + /// <returns></returns> + [HttpPost] + [AllowAnonymous] + + public async Task<int> AddLogger(LogErrorInput input) + { + Logger.LogError("鍓嶇閿欒锛�" + input.Error); + return Constant.SUCCESS; + } + + + /// <summary> /// 鑾峰彇鎶樻墸 /// </summary> /// <returns></returns> @@ -117,12 +210,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); } @@ -136,6 +273,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> @@ -186,6 +356,15 @@ public async Task<PageOutput<CreateEditPayChannelsInput>> GetLifePayChannlesPage(PageInput input) { return await _lifePayService.GetLifePayChannlesPage(input); + } + + /// <summary> + /// 鑾峰彇鍏ㄩ儴缂磋垂娓犻亾 + /// </summary> + [HttpPost] + public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList(QueryLifePayChannlesInput input) + { + return await _lifePayService.GetLifePayChannlesAllList(input); } /// <summary> @@ -275,10 +454,206 @@ 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<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 鎿嶄綔 @@ -320,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> @@ -427,6 +813,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