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