From 18325eda17439bdd76f3b7e3f39cfae312738b2b Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期一, 31 三月 2025 06:59:13 +0800 Subject: [PATCH] fix:提交 --- LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | 40 ++++++++- LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 55 +++++++++++++ LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 22 ++++ LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs | 2 LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs | 5 + LifePayment/LifePayment.Domain/LifePay/LifePayExpensesReceipts.cs | 2 LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs | 2 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs | 45 ++++++++++- LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml | 2 LifePayment/LifePayment.Application/LifePay/StatisticsService.cs | 33 +++++--- LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs | 4 LifePayment/LifePayment.Domain/Common/ChannelFilter.cs | 14 +-- 12 files changed, 184 insertions(+), 42 deletions(-) diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs index b902588..a30eaec 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs @@ -17,4 +17,6 @@ Task<LifePayExpensesReceiptsPageOutput<LifePayExpensesReceiptsListOutput>> GetLifePayExpensesReceiptsPage(LifePayExpensesReceiptsPageInput input); Task AddLifePayExpensesReceipts(AddLifePayExpensesReceiptsInput input); + + Task GetAllLifePayExpensesReceipts(); } \ No newline at end of file diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs index 2ba6f51..3aaec90 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/IStatisticsService.cs @@ -10,6 +10,6 @@ public interface IStatisticsService : IApplicationService { - Task<TopStatisticsOutput> GetTopStatistics(); + Task<TopStatisticsOutput> GetTopStatistics(string channleId = ""); } \ No newline at end of file diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs index 26f29d0..6a84270 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs @@ -102,6 +102,11 @@ /// 瀹㈡埛韬唤璇佸悗6浣嶏紝鍗楃綉蹇呬紶銆� /// </summary> public string SixID { get; set; } + + /// <summary> + /// 鎴蜂富濮撳悕 + /// </summary> + public string Name { get; set; } } public class LifeGasData { @@ -664,16 +669,12 @@ /// <summary> /// 鏀舵敮绫诲瀷 /// </summary> - public ExpensesReceiptsTypeEnum ExpensesReceiptsType { get; set; } + public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; } /// <summary> /// 浜ゆ槗閲戦 /// </summary> public decimal Amount { get; set; } - /// <summary> - /// 鎷撳睍灞炴�� - /// </summary> - public string ExtraProperties { get; set; } } public class LifePayExpensesReceiptsPageInput : ChannelsBaseInput { @@ -701,4 +702,38 @@ /// 浜ゆ槗缁撴潫鏃堕棿 /// </summary> public DateTime? TimeEnd { get; set; } +} +public class LifePayExpensesReceiptsTemp +{ + /// <summary> + /// 骞冲彴璁㈠崟鍙� + /// </summary> + public string OrderNo { get; set; } + + /// <summary> + /// 閫�娆捐鍗曠紪鍙� + /// </summary> + public string RefundOrderNo { get; set; } + + /// <summary> + /// 娓犻亾娴佹按鍙� + /// </summary> + public string OutOrderNo { get; set; } + + /// <summary> + /// 鏀粯娓犻亾 + /// </summary> + public LifePayTypeEnum LifePayType { get; set; } + + /// <summary> + /// 鏀舵敮绫诲瀷 + /// </summary> + public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; } + + /// <summary> + /// 浜ゆ槗閲戦 + /// </summary> + public decimal Amount { get; set; } + + public string ExpensesReceiptsOrder { get; set; } } \ No newline at end of file diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs index f199443..16fe3b9 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs @@ -21,17 +21,20 @@ { private readonly IRepository<LifePayRechargeReceipts, Guid> _lifePayRechargeReceiptsRepository; private readonly IRepository<LifePayExpensesReceipts, Guid> _lifePayExpensesReceiptsRepository; + private readonly IRepository<LifePayOrder, Guid> _lifePayOrderRepository; private readonly IAliPayApi _aliPayApi; private readonly IWxPayApi _wxPayApi; public LifePayOrderService( IRepository<LifePayRechargeReceipts, Guid> lifePayRechargeReceiptsRepository, IRepository<LifePayExpensesReceipts, Guid> lifePayExpensesReceiptsRepository, + IRepository<LifePayOrder, Guid> lifePayOrderRepository, IAliPayApi aliPayApi, IWxPayApi wxPayApi) { _lifePayRechargeReceiptsRepository = lifePayRechargeReceiptsRepository; _lifePayExpensesReceiptsRepository = lifePayExpensesReceiptsRepository; + _lifePayOrderRepository = lifePayOrderRepository; _aliPayApi = aliPayApi; _wxPayApi = wxPayApi; } @@ -121,7 +124,7 @@ OrderNo = x.OrderNo, OutOrderNo = x.OutOrderNo, LifePayType = x.LifePayType, - ExpensesReceiptsType = x.ExpensesReceiptsType, + ExpensesReceiptsType = x.ExpensesReceiptsType.Value, Amount = x.Amount, FinishTime = x.FinishTime }) @@ -198,7 +201,7 @@ else { var query = await _wxPayApi.WxPayDomesticRefundsQuery(input.OrderNo); - if (query.Code == AlipayResultCode.Success && query.RefundStatus == WxPayRefundStatus.閫�娆炬垚鍔�) + if (query.Status == WxPayRefundStatus.閫�娆炬垚鍔�) { data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SuccessTime); @@ -210,5 +213,53 @@ } } } + + public async Task GetAllLifePayExpensesReceipts() + { + var orderlist = await (from a in _lifePayOrderRepository.Where(x => x.PayStatus >= LifePayStatusEnum.宸叉敮浠�) + join b in _lifePayExpensesReceiptsRepository on a.OrderNo equals b.OrderNo into temp + from b in temp.DefaultIfEmpty() + select new LifePayExpensesReceiptsTemp() + { + OrderNo = a.OrderNo, + OutOrderNo = a.OutOrderNo, + RefundOrderNo = a.RefundOrderNo, + LifePayType = a.LifePayType.Value, + Amount = a.PayAmount.Value, + ExpensesReceiptsType = b.ExpensesReceiptsType + }).ToListAsync(); + foreach (var item in orderlist) + { + if (!item.ExpensesReceiptsType.HasValue) + { + /// 鍏ヨ处 + AddLifePayExpensesReceiptsInput input = new AddLifePayExpensesReceiptsInput() + { + OrderNo = item.OrderNo, + OutOrderNo = item.OutOrderNo, + LifePayType = item.LifePayType, + Amount = item.Amount, + ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses + }; + + await AddLifePayExpensesReceipts(input); + + /// 鍑鸿处 + if (item.RefundOrderNo.IsNotNullOrEmpty()) + { + if (input.LifePayType == LifePayTypeEnum.WxPay) + { + input.OrderNo = item.RefundOrderNo; + } + + input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts; + await AddLifePayExpensesReceipts(input); + } + + + } + } + + } } } diff --git a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs index f6fec66..8d127f9 100644 --- a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs +++ b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs @@ -35,30 +35,38 @@ _dallyStatisticsRepository = dallyStatisticsRepository; } - public async Task<TopStatisticsOutput> GetTopStatistics() + public async Task<TopStatisticsOutput> GetTopStatistics(string channleId = "") { var today = DateTime.Now.Date; - var statistics = await _dallyStatisticsRepository.Where(x => x.CreationTime.Date == today).FirstOrDefaultAsync(); + var statistics = await _dallyStatisticsRepository.Where(x => x.CreationTime.Date == today) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.Channel == channleId) + .FirstOrDefaultAsync(); if (statistics == null) { /// 绱鏀舵锛氱粺璁″钩鍙拌处鎴蜂笅璁㈠崟鍒涘缓鏃堕棿鍦ㄦ槰澶╁強涔嬪墠鏀跺埌鐨勩�愮敤鎴锋敮浠樻垚鍔熺殑閲戦-閫�娆剧粰鐢ㄦ埛鐨勯噾棰濄�戯紱 - var accumulatedReceipts = await _lifePayOrderRepository.Where(x => x.CreationTime < today && x.PayStatus != LifePayStatusEnum.鏈敮浠�).SumAsync(x => x.PayAmount) - await _lifePayOrderRepository.Where(x => x.CreationTime < today && x.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�).SumAsync(x => (x.RefundPrice ?? 0)); + var accumulatedReceipts = await _lifePayOrderRepository.Where(x => x.CreationTime < today && x.PayStatus != LifePayStatusEnum.鏈敮浠�) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).SumAsync(x => x.PayAmount) - await _lifePayOrderRepository.Where(x => x.CreationTime < today && x.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�).SumAsync(x => (x.RefundPrice ?? 0)); /// 鏄ㄦ棩鏀舵锛氱粺璁″钩鍙拌处鎴蜂笅璁㈠崟鍒涘缓鏃堕棿鍦ㄦ槰澶╂敹鍒扮殑銆愮敤鎴锋敮浠樻垚鍔熺殑閲戦-閫�娆剧粰鐢ㄦ埛鐨勯噾棰濄�戯紱 - var receiptsYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.PayStatus == LifePayStatusEnum.宸叉敮浠�).SumAsync(x => x.PayAmount) - await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�).SumAsync(x => (x.RefundPrice ?? 0)); + var receiptsYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.PayStatus == LifePayStatusEnum.宸叉敮浠�) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).SumAsync(x => x.PayAmount) - await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�).SumAsync(x => (x.RefundPrice ?? 0)); /// 绱鏀跺叆锛氱粺璁″钩鍙拌处鎴蜂笅璁㈠崟鐘舵�佷负鈥滃凡瀹屾垚鈥濅笖璁㈠崟鍒涘缓鏃堕棿鍦ㄦ槰澶╁強涔嬪墠鏀跺埌鐨勩�愮敤鎴峰疄浠橀噾棰�-骞冲彴鎵f閲戦-閮ㄥ垎閫�娆鹃噾棰濄�戯紱 - var accumulatedIncome = await _lifePayOrderRepository.Where(x => x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�).SumAsync(x => x.PayAmount - (x.PlatformDeductionAmount ?? 0) - (x.RefundPrice ?? 0)); + var accumulatedIncome = await _lifePayOrderRepository.Where(x => x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).SumAsync(x => x.PayAmount - (x.PlatformDeductionAmount ?? 0) - (x.RefundPrice ?? 0)); /// 绱涓嬪崟锛氱粺璁″钩鍙颁腑璁㈠崟涓嬪崟鏃堕棿鍦ㄦ槰澶╁強涔嬪墠鏃堕棿鐨勮鍗曡褰曪紱 - var accumulatedOrders = await _lifePayOrderRepository.Where(x => x.CreationTime < today).CountAsync(); + var accumulatedOrders = await _lifePayOrderRepository.Where(x => x.CreationTime < today).WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).CountAsync(); /// 鏄ㄦ棩涓嬪崟锛氱粺璁″钩鍙颁腑璁㈠崟涓嬪崟鏃堕棿鍦ㄦ槰澶╃殑璁㈠崟璁板綍锛� - var ordersNumYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today).CountAsync(); + var ordersNumYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).CountAsync(); /// 鏄ㄦ棩鎴愬姛锛氱粺璁″钩鍙颁腑璁㈠崟鐘舵�佷负鈥滃凡瀹屾垚/閮ㄥ垎鍏呭�兼垚鍔熲�濅笖璁㈠崟涓嬪崟鏃堕棿鍦ㄦ槰澶╃殑璁㈠崟璁板綍锛� - var yesterdaySuccess = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�).CountAsync(); + var yesterdaySuccess = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).CountAsync(); /// 鏄ㄦ棩澶辫触锛氱粺璁″钩鍙颁腑璁㈠崟鐘舵�佷负鈥滃厖鍊煎け璐�/宸查��娆锯�濅笖璁㈠崟涓嬪崟鏃堕棿鍦ㄦ槰澶╃殑璁㈠崟璁板綍锛� - var yesterdayFail = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆�).CountAsync(); + var yesterdayFail = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆�) + .WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.ChannelId == channleId).CountAsync(); /// 绱鐢ㄦ埛 - var accumulatedUsers = await _lifePayUserRepository.CountAsync(); + var accumulatedUsers = await _lifePayUserRepository.WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.CreationChannleNum == channleId).CountAsync(); /// 鏄ㄦ棩娲昏穬鐢ㄦ埛 - var yesterdayActiveUsers = await _lifePayUserRepository.Where(x => x.LastLoginTime >= today.AddDays(-1)).CountAsync(); + var yesterdayActiveUsers = await _lifePayUserRepository.WhereIf(string.IsNullOrWhiteSpace(channleId), x => x.CreationChannleNum == channleId).Where(x => x.LastLoginTime >= today.AddDays(-1)).CountAsync(); var entity = new DallyStatistics() { @@ -73,7 +81,8 @@ YesterdaySuccess = yesterdaySuccess, YesterdayFail = yesterdayFail, AccumulatedUsers = accumulatedUsers, - YesterdayActiveUsers = yesterdayActiveUsers + YesterdayActiveUsers = yesterdayActiveUsers, + Channel = channleId }; await _dallyStatisticsRepository.InsertAsync(entity); diff --git a/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs b/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs index c1266ee..82d0a98 100644 --- a/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs +++ b/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs @@ -928,8 +928,8 @@ public string TradeStateDesc { get; set; } - [JsonProperty("success_time ")] - public string SuccessTime { get; set; } + [JsonProperty("success_time")] + public string? SuccessTime { get; set; } // <summary> /// 閲戦淇℃伅 diff --git a/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs b/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs index 3f0984f..f734643 100644 --- a/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs +++ b/LifePayment/LifePayment.Domain/Common/ChannelFilter.cs @@ -23,11 +23,8 @@ if (CurrentUser.ClientId == Constant.ClientType.Back && !CurrentUser.IsSystem) { var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList(); - if (queryUser.Count() > 0) - { - var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.ChannelId) && queryUser.Contains(s.ChannelId)) || string.IsNullOrEmpty(s.ChannelId) || queryUser.Count() == 0); - return queryResult; - } + var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.ChannelId) && queryUser.Contains(s.ChannelId))); + return queryResult; } return query; @@ -38,11 +35,8 @@ if (CurrentUser.ClientId == Constant.ClientType.Back && !CurrentUser.IsSystem) { var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList(); - if (queryUser.Count() > 0) - { - var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.CreationChannleNum) && queryUser.Contains(s.CreationChannleNum)) || string.IsNullOrEmpty(s.CreationChannleNum)); - return queryResult; - } + var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.CreationChannleNum) && queryUser.Contains(s.CreationChannleNum))); + return queryResult; } return query; diff --git a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs index eeb5cbe..5b90509 100644 --- a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs +++ b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs @@ -62,4 +62,9 @@ /// 鏄ㄦ棩娲昏穬鐢ㄦ埛 /// </summary> public int YesterdayActiveUsers { get; set; } + + /// <summary> + /// 缁熻娓犻亾 + /// </summary> + public string Channel { get; set; } } \ No newline at end of file diff --git a/LifePayment/LifePayment.Domain/LifePay/LifePayExpensesReceipts.cs b/LifePayment/LifePayment.Domain/LifePay/LifePayExpensesReceipts.cs index 56cc7be..d2f492b 100644 --- a/LifePayment/LifePayment.Domain/LifePay/LifePayExpensesReceipts.cs +++ b/LifePayment/LifePayment.Domain/LifePay/LifePayExpensesReceipts.cs @@ -36,7 +36,7 @@ /// <summary> /// 鏀舵敮绫诲瀷 /// </summary> - public ExpensesReceiptsTypeEnum ExpensesReceiptsType { get; set; } + public ExpensesReceiptsTypeEnum? ExpensesReceiptsType { get; set; } /// <summary> /// 浜ゆ槗閲戦 diff --git a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml index 9bb9d5f..304c7d8 100644 --- a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml +++ b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml @@ -63,7 +63,7 @@ </summary> <returns></returns> </member> - <member name="M:LifePayment.HttpApi.LifePayController.GetTopStatistics"> + <member name="M:LifePayment.HttpApi.LifePayController.GetTopStatistics(System.String)"> <summary> 鑾峰彇椤堕儴缁熻鏁版嵁 </summary> diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml index e3c5027..5c0289b 100644 --- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml +++ b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml @@ -346,6 +346,11 @@ 瀹㈡埛韬唤璇佸悗6浣嶏紝鍗楃綉蹇呬紶銆� </summary> </member> + <member name="P:LifePayment.Application.Contracts.LifeElectricData.Name"> + <summary> + 鎴蜂富濮撳悕 + </summary> + </member> <member name="P:LifePayment.Application.Contracts.LifeGasData.ParValue"> <summary> 鍏呭�奸潰棰濓紝鍗曚綅涓哄厓銆� @@ -776,11 +781,6 @@ 浜ゆ槗閲戦 </summary> </member> - <member name="P:LifePayment.Application.Contracts.AddLifePayExpensesReceiptsInput.ExtraProperties"> - <summary> - 鎷撳睍灞炴�� - </summary> - </member> <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsPageInput.KeyWord"> <summary> 鏌ヨ鏉′欢 @@ -806,6 +806,36 @@ 浜ゆ槗缁撴潫鏃堕棿 </summary> </member> + <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsTemp.OrderNo"> + <summary> + 骞冲彴璁㈠崟鍙� + </summary> + </member> + <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsTemp.RefundOrderNo"> + <summary> + 閫�娆捐鍗曠紪鍙� + </summary> + </member> + <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsTemp.OutOrderNo"> + <summary> + 娓犻亾娴佹按鍙� + </summary> + </member> + <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsTemp.LifePayType"> + <summary> + 鏀粯娓犻亾 + </summary> + </member> + <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsTemp.ExpensesReceiptsType"> + <summary> + 鏀舵敮绫诲瀷 + </summary> + </member> + <member name="P:LifePayment.Application.Contracts.LifePayExpensesReceiptsTemp.Amount"> + <summary> + 浜ゆ槗閲戦 + </summary> + </member> <member name="P:LifePayment.Application.Contracts.LifePayIntroInfoInput.LifePayType"> <summary> 鐢熸椿缂磋垂绫诲瀷 diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index 434d829..bdd5ba4 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs @@ -53,9 +53,9 @@ /// <returns></returns> [HttpGet] [AllowAnonymous] - public async Task<TopStatisticsOutput> GetTopStatistics() + public async Task<TopStatisticsOutput> GetTopStatistics(string channleId = "") { - return await _statisticsService.GetTopStatistics(); + return await _statisticsService.GetTopStatistics(channleId); } /// <summary> @@ -495,7 +495,16 @@ [AllowAnonymous] public async Task<WxPayDomesticRefundsQueryReponse> WxPayDomesticRefundsQuery(string outTradeNo) { - return await _lifePayService.WxPayDomesticRefundsQuery(outTradeNo); + var res = await _lifePayService.WxPayDomesticRefundsQuery(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> @@ -519,6 +528,13 @@ return res; } + [HttpGet] + [AllowAnonymous] + public async Task GetAllLifePayExpensesReceipts() + { + await _lifePayOrderService.GetAllLifePayExpensesReceipts(); + } + #endregion #region 鎿嶄綔 -- Gitblit v1.9.1