From f6e850306e153af78ea376b2096dcf9d742b3055 Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期五, 21 三月 2025 11:33:36 +0800 Subject: [PATCH] fix:提交 --- LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 15 ++++ LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs | 8 +- LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs | 1 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs | 63 +++++++++++++++++++++ LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs | 2 LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 82 +++++++++++++++++++++++---- 6 files changed, 152 insertions(+), 19 deletions(-) diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs index 604b07b..00e1bc6 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs @@ -192,6 +192,7 @@ /// <returns></returns> Task<PageOutput<LifePayOrderListOutput>> GetLifePayOrderPage(QueryLifePayOrderListInput input); + Task<PageOutput<LifePayOrderListOutput>> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input); /// <summary> /// 鑾峰彇璁㈠崟璇︽儏 diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs index 5d12f06..39b7289 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs @@ -259,6 +259,11 @@ public LifePayStatusEnum? PayStatus { get; set; } /// <summary> + /// 渚涘簲鍟嗙姸鎬� + /// </summary> + public ACOOLYStatusEnum? ACOOLYStatus { get; set; } + + /// <summary> /// 璁㈠崟鐘舵�� /// </summary> public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; } @@ -284,6 +289,64 @@ public string KeyWords { get; set; } } +public class QueryLifePayRefundOrderListInput : ChannelsBaseInput +{ + /// <summary> + /// 璁㈠崟绫诲瀷 + /// </summary> + public LifePayOrderTypeEnum? LifePayOrderType { get; set; } + + /// <summary> + /// 鐢熸椿缂磋垂鏀粯绫诲瀷 + /// </summary> + public LifePayTypeEnum? LifePayType { get; set; } + + /// <summary> + /// 寮�濮嬬敵璇烽��娆炬椂闂� + /// </summary> + public DateTime? BeginRefundApplyTime { get; set; } + + /// <summary> + /// 缁撴潫鐢宠閫�娆炬椂闂� + /// </summary> + public DateTime? EndRefundApplyTime { get; set; } + + /// <summary> + /// 寮�濮嬪畬鎴愭椂闂� + /// </summary> + public DateTime? BeginFinishTime { get; set; } + + /// <summary> + /// 缁撴潫瀹屾垚鏃堕棿 + /// </summary> + public DateTime? EndFinishTime { get; set; } + + /// <summary> + /// 鏀粯鐘舵�� + /// </summary> + public LifePayStatusEnum? PayStatus { get; set; } + + /// <summary> + /// 渚涘簲鍟嗙姸鎬� + /// </summary> + public ACOOLYStatusEnum? ACOOLYStatus { get; set; } + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; } + + /// <summary> + /// 鐢ㄦ埛Id + /// </summary> + public Guid? UserId { get; set; } + + /// <summary> + /// 鎼滅储鍏抽敭璇� + /// </summary> + public string KeyWords { get; set; } + +} public class RefundLifePayOrderInput { diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs index c9a5092..2755ca3 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs @@ -95,24 +95,30 @@ public async Task<TopStatisticsOutput> GetTopStatistics() { - var today = DateTime.Now.ToString("yyyy-MM-dd"); - var statistics = await _dallyStatisticsRepository.Where(x => x.CreationTime.ToString("yyyy-MM-dd") == today).FirstOrDefaultAsync(); + var today = DateTime.Now.Date; + var statistics = await _dallyStatisticsRepository.Where(x => x.CreationTime.Date == today).FirstOrDefaultAsync(); if (statistics == null) { - //var accumulatedReceipts = await _lifePayOrderRepository.Where(x => x.CreationTime < today).SumAsync(x => x.PayAmount); + var accumulatedReceipts = await _lifePayOrderRepository.Where(x => x.CreationTime < today).SumAsync(x => x.PayAmount); + var receiptsYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today).SumAsync(x => x.PayAmount); + var accumulatedOrders = await _lifePayOrderRepository.Where(x => x.CreationTime < today).CountAsync(); + var ordersNumYesterday = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today).CountAsync(); + var yesterdaySuccess = 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.宸插け璐�).CountAsync(); + var accumulatedUsers = await _lifePayUserRepository.CountAsync(); var entity = new DallyStatistics() { Id = GuidGenerator.Create(), CreationTime = DateTime.Now, Amount = "0", - AccumulatedReceipts = "0", - ReceiptsYesterda = "0", - AccumulatedOrders = "0", - OrdersNumYesterda = "0", - YesterdaSuccess = "0", - YesterdaFail = "0", - AccumulatedUsers = "0", + AccumulatedReceipts = accumulatedReceipts.ToString(), + ReceiptsYesterday = receiptsYesterday.ToString(), + AccumulatedOrders = accumulatedOrders.ToString(), + OrdersNumYesterday = ordersNumYesterday.ToString(), + YesterdaySuccess = yesterdaySuccess.ToString(), + YesterdayFail = yesterdayFail.ToString(), + AccumulatedUsers = accumulatedUsers.ToString(), }; return new TopStatisticsOutput(); @@ -122,7 +128,6 @@ var result = ObjectMapper.Map<DallyStatistics,TopStatisticsOutput>(statistics); return result; } - } /// <summary> @@ -274,6 +279,58 @@ .WhereIf(input.EndPayTime.HasValue, x => x.PayTime <= input.EndPayTime) .WhereIf(input.LifePayOrderStatus.HasValue, x => x.LifePayOrderStatus == input.LifePayOrderStatus.Value) .WhereIf(input.PayStatus.HasValue, x => x.PayStatus == input.PayStatus.Value) + .WhereIf(input.ACOOLYStatus.HasValue, x => x.ACOOLYStatus == input.ACOOLYStatus.Value) + .WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayOrderType == input.LifePayOrderType.Value) + .WhereIf(input.UserId.HasValue, x => x.UserId == input.UserId.Value) + .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.PhoneNumber.Contains(input.KeyWords) || x.OrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords)) + join b in _lifePayChannlesRep on a.ChannelId equals b.ChannlesNum into temp + from b in temp.DefaultIfEmpty() + select new LifePayOrderListOutput + { + DiscountAmount = a.DiscountAmount, + FinishTime = a.FinishTime, + Id = a.Id, + LifePayOrderStatus = a.LifePayOrderStatus, + LifePayOrderType = a.LifePayOrderType, + LifePayType = a.LifePayType, + OrderNo = a.OrderNo, + PayAmount = a.PayAmount, + PhoneNumber = a.PhoneNumber, + RechargeAmount = a.RechargeAmount, + UserId = a.UserId, + OutOrderNo = a.OutOrderNo, + PayStatus = a.PayStatus, + PayTime = a.PayTime, + ACOOLYOrderNo = a.ACOOLYOrderNo, + RefundCredentialsImgUrl = a.RefundCredentialsImgUrl.GetOssPath(), + CreationTime = a.CreationTime, + RefundCheckRemark = a.RefundCheckRemark, + RefundApplyRemark = a.RefundApplyRemark, + RefundTime = a.RefundTime, + ChannelName = b.ChannlesName, + ActualRechargeAmount = a.ActualRechargeAmount, + PlatformDeductionAmount = a.PlatformDeductionAmount, + ACOOLYStatus = a.ACOOLYStatus, + LifePayRefundStatus = a.LifePayRefundStatus, + }).GetPageResult(input.PageModel); + + return result; + } + + public async Task<PageOutput<LifePayOrderListOutput>> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input) + { + + var result = await (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository) + .Where(x => x.PayStatus == LifePayStatusEnum.寰呴��娆� || x.PayStatus == LifePayStatusEnum.宸查��娆� || x.PayStatus == LifePayStatusEnum.閫�娆句腑 + || x.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆惧緟瀹℃牳 || x.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆� || x.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆惧け璐� + || x.LifePayRefundStatus > LifePayRefundStatusEnum.鏃犻渶閫�娆�) + .WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime) + .WhereIf(input.EndFinishTime.HasValue, x => x.FinishTime <= input.EndFinishTime) + .WhereIf(input.BeginRefundApplyTime.HasValue, x => x.RefundApplyTime >= input.BeginRefundApplyTime) + .WhereIf(input.LifePayType.HasValue, x => x.LifePayType == input.LifePayType) + .WhereIf(input.EndRefundApplyTime.HasValue, x => x.RefundApplyTime <= input.EndRefundApplyTime) + .WhereIf(input.LifePayOrderStatus.HasValue, x => x.LifePayOrderStatus == input.LifePayOrderStatus.Value) + .WhereIf(input.ACOOLYStatus.HasValue, x => x.ACOOLYStatus == input.ACOOLYStatus.Value) .WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayOrderType == input.LifePayOrderType.Value) .WhereIf(input.UserId.HasValue, x => x.UserId == input.UserId.Value) .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.PhoneNumber.Contains(input.KeyWords) || x.OrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords)) @@ -1139,6 +1196,7 @@ break; } + order.LifePayRefundStatus = LifePayRefundStatusEnum.鏃犻渶閫�娆�; order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�; //SetOrderStatus(order, result.Code); order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo; @@ -1148,7 +1206,7 @@ { _logger.LogError(ex, "澶勭悊鐢熸椿缂磋垂鏀粯鎴愬姛鍥炶皟鏃跺紓甯�"); order.LifePayOrderStatus = LifePayOrderStatusEnum.宸插け璐�; - order.PayStatus = LifePayStatusEnum.寰呴��娆�; + order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�; } _logger.LogError("鐢熸椿缂磋垂璁㈠崟鐘舵�侊細" + order.LifePayOrderStatus.ToString()); await _lifePayOrderRepository.UpdateAsync(order); diff --git a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs index 585f39d..0979050 100644 --- a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs +++ b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs @@ -49,7 +49,7 @@ [Description("宸插け璐�")] 宸插け璐� = 20, - [Description("鏀粯瀹濇敮浠�")] + [Description("宸插畬鎴�")] 宸插畬鎴� = 30, [Description("閫�娆惧緟瀹℃牳")] diff --git a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs index 5573d52..590a901 100644 --- a/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs +++ b/LifePayment/LifePayment.Domain/LifePay/DallyStatistics.cs @@ -30,7 +30,7 @@ /// <summary> /// 鏄ㄦ棩鏀舵 /// </summary> - public string ReceiptsYesterda { get; set; } + public string ReceiptsYesterday { get; set; } /// <summary> /// 绱涓嬪崟 @@ -40,17 +40,17 @@ /// <summary> /// 鏄ㄦ棩涓嬪崟 /// </summary> - public string OrdersNumYesterda { get; set; } + public string OrdersNumYesterday { get; set; } /// <summary> /// 鏄ㄦ棩鎴愬姛 /// </summary> - public string YesterdaSuccess { get; set; } + public string YesterdaySuccess { get; set; } /// <summary> /// 鏄ㄦ棩澶辫触 /// </summary> - public string YesterdaFail { get; set; } + public string YesterdayFail { get; set; } /// <summary> /// 绱鐢ㄦ埛 diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index 856ba52..72c0935 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs @@ -192,6 +192,17 @@ } /// <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> @@ -364,12 +375,12 @@ } [HttpGet] - public async Task<ActionResult> GetBillErceiptExport(string orderNo) + public async Task<string> GetBillErceiptExport(string orderNo) { var data = await _lifePayService.GetBillErceiptExport(orderNo); - return Json(default); + return data; } #endregion -- Gitblit v1.9.1