From 384ce2060d3422341f96c2f897e807b52d15cb0c Mon Sep 17 00:00:00 2001
From: lingling <kety1122@163.com>
Date: 星期一, 24 三月 2025 15:06:31 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi
---
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | 80 +++++++
LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs | 30 +-
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 29 ++
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs | 4
LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs | 4
LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs | 1
LifePayment/LifePayment.Application/LifePay/StatisticsService.cs | 6
LifePayment/LifePayment.Application/LifePaymentServicesApplicationModuleAutoMapperProfile.cs | 2
LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs | 17 +
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs | 118 +++++++++++
LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs | 9
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs | 14 +
LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs | 34 +++
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml | 13 +
LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 192 +++++++++++++++----
15 files changed, 480 insertions(+), 73 deletions(-)
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
index 8fd6eb2..dd567e3 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -50,7 +50,7 @@
Task LifePaySuccessHandler(string orderNo, string outOrderNo);
/// <summary>
- /// 鏀粯鎴愬姛鍥炶皟澶勭悊
+ /// 渚涘簲鍟嗗洖璋冨鐞�
/// </summary>
/// <param name="orderNo"></param>
/// <param name="acoolyOrderNo"></param>
@@ -58,7 +58,7 @@
/// <param name="acoolyStatus"></param>
/// <param name="payAmount"></param>
/// <returns></returns>
- Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount);
+ Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark);
/// <summary>
/// 鍒涘缓鐢熸椿缂磋垂璇濊垂璁㈠崟
@@ -142,6 +142,13 @@
/// </summary>
/// <returns></returns>
Task<List<LifePayRateListOutput>> GetRate();
+
+
+ /// <summary>
+ /// 鑾峰彇娓犻亾鎶樻墸
+ /// </summary>
+ /// <returns></returns>
+ Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input);
/// <summary>
/// 鑾峰彇鎵嬬画璐硅垂鐜�
@@ -250,6 +257,9 @@
Task<List<LifePayOrderListTemplate>> GetLifePayOrderPageExport(QueryLifePayOrderListInput input);
+
+ Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input);
+
Task<string> GetBillErceiptExport(string orderNo);
/// <summary>
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
index f54f710..16a691b 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
@@ -357,6 +357,10 @@
/// 璁㈠崟鐘舵��
/// </summary>
public LifePayOrderStatusEnum? LifePayOrderStatus { get; set; }
+ /// <summary>
+ /// 璁㈠崟鐘舵��
+ /// </summary>
+ public LifePayRefundStatusEnum? LifePayRefundStatus { get; set; }
/// <summary>
/// 鐢ㄦ埛Id
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
index 88dfae2..da36ea5 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
@@ -176,6 +176,11 @@
public string OrderNo { get; set; }
/// <summary>
+ /// 閫�娆捐鍗曞彿
+ /// </summary>
+ public string RefundOrderNo { get; set; }
+
+ /// <summary>
/// 鍏呭�奸噾棰�
/// </summary>
public decimal RechargeAmount { get; set; }
@@ -379,6 +384,103 @@
}
+
+public class LifePayRefundOrderListTemplate
+{
+
+ [Name("搴忓彿")]
+ public int SerialNumber { get; set; }
+
+ [Name("鎵嬫満鍙�")]
+ public string PhoneNumber { get; set; }
+
+ public LifePayTypeEnum? LifePayType { get; set; }
+
+ public LifePayOrderTypeEnum LifePayOrderType { get; set; }
+
+ [Name("鍏呭�肩被鍨�")]
+ public string LifePayOrderTypeStr { get; set; }
+
+ [Name("鍏呭�兼笭閬�")]
+ public string ChannelName { get; set; }
+
+ /// <summary>
+ /// 閫�娆剧敵璇锋椂闂�
+ /// </summary>
+ [Name("鐢宠閫�娆炬椂闂�")]
+ public string RefundApplyTimeStr { get; set; }
+
+ /// <summary>
+ /// 涓嬪崟鏃堕棿
+ /// </summary>
+ public DateTime CreationTime { get; set; }
+
+ [Name("涓嬪崟鏃堕棿")]
+ public string CreationTimeStr { get; set; }
+
+ [Name("閫�娆捐鍗曞彿")]
+ public string RefundOrderNo { get; set; }
+
+
+ [Name("鍏呭�奸噾棰�")]
+ public string RechargeAmountStr { get; set; }
+
+
+ /// <summary>
+ /// 鍏呭�奸噾棰�
+ /// </summary>
+ public decimal RechargeAmount { get; set; }
+
+ /// <summary>
+ /// 瀹為檯鍒拌处閲戦
+ /// </summary>
+ [Name("瀹為檯鍒拌处閲戦")]
+ public string ActualReceivedAmount { get; set; }
+
+ /// <summary>
+ /// 瀹炰粯閲戦
+ /// </summary>
+ public decimal PayAmount { get; set; }
+
+ [Name("瀹炰粯閲戦")]
+ public string PayAmountStr { get; set; }
+
+ [Name("閫�娆炬笭閬�")]
+ public string LifePayTypeStr { get; set; }
+
+ /// <summary>
+ /// 閫�娆鹃噾棰�
+ /// </summary>
+ [Name("閫�娆鹃噾棰�")]
+ public decimal? RefundPrice { get; set; }
+
+
+ public ACOOLYStatusEnum ACOOLYStatus { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗚鍗曠姸鎬�
+ /// </summary>
+ [Name("渚涘簲鍟嗚鍗曠姸鎬�")]
+ public string ACOOLYStatusStr { get; set; }
+
+
+ /// <summary>
+ /// 瀹屾垚鏃堕棿
+ /// </summary>
+ public DateTime? FinishTime { get; set; }
+
+
+ /// <summary>
+ /// 骞冲彴閫�娆剧姸鎬�
+ /// </summary>
+ [Name("骞冲彴閫�娆剧姸鎬�")]
+ public string LifePayRefundStatus { get; set; }
+
+ [Name("瀹屾垚鏃堕棿")]
+ public string FinishTimeStr { get; set; }
+
+
+}
public class UserLifePayOrderOutput
{
public Guid Id { get; set; }
@@ -457,10 +559,21 @@
public string RefundApplyRemark { get; set; }
public string RefundCheckRemark { get; set; }
+
/// <summary>
/// 娓犻亾娴佹按鍙�
/// </summary>
public string ACOOLYOrderNo { get; set; }
+
+ /// <summary>
+ /// 骞冲彴閫�娆剧姸鎬�
+ /// </summary>
+ public LifePayRefundStatusEnum? LifePayRefundStatus { get; set; }
+
+ /// <summary>
+ /// 骞冲彴鐘舵��
+ /// </summary>
+ public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
}
public class LifePayOrderOutput
@@ -924,4 +1037,9 @@
/// </summary>
public int YesterdayActiveUsers { get; set; }
+}
+
+public class ChannelRateOutput
+{
+ public decimal ChannlesRate { get; set; }
}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs b/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs
index 2dbdc47..76e561d 100644
--- a/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs
@@ -1,5 +1,7 @@
-锘縰sing System;
+锘縰sing LifePayment.Domain.Shared;
+using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
using ZeroD.Util;
namespace LifePayment.Application.Contracts
@@ -15,11 +17,16 @@
/// 鎵嬫満鍙�
/// </summary>
public string PhoneNumber { get; set; }
+
+ /// <summary>
+ /// 瀵嗙爜
+ /// </summary>
public string Password { get; set; }
/// <summary>
/// 璐︽埛
/// </summary>
+ [RegularExpression(LifePaymentConstant.RegularExpression.UserNameEx, ErrorMessage = "璐﹀彿鏍煎紡涓嶆纭�")]
public string UserName { get; set; }
public string Remark { get; set; }
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 65a57b4..0db8bd2 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -152,6 +152,16 @@
}
/// <summary>
+ /// 鑾峰彇娓犻亾鎶樻墸
+ /// </summary>
+ /// <returns></returns>
+ public async Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input)
+ {
+ return _lifePayChannlesRep.Where(x => x.IsDeleted == false && x.ChannlesNum == input.CheckChannelId).Select(x => new ChannelRateOutput() { ChannlesRate = x.ChannlesRate })
+ .FirstOrDefault();
+ }
+
+ /// <summary>
/// 鑾峰彇鎵嬬画璐硅垂鐜�
/// </summary>
/// <returns></returns>
@@ -234,6 +244,7 @@
/// <returns></returns>
public async Task<PageOutput<LifePayOrderListOutput>> GetLifePayOrderPage(QueryLifePayOrderListInput input)
{
+ var channles = await _lifePayChannlesRep.Where(x => x.ChannlesName.Contains(input.KeyWords)).Select(x => x.ChannlesNum).ToListAsync();
var result = await (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository)
.WhereIf(input.BeginFinishTime.HasValue, x => x.FinishTime >= input.BeginFinishTime)
.WhereIf(input.EndFinishTime.HasValue, x => x.FinishTime <= input.EndFinishTime)
@@ -245,7 +256,7 @@
.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))
+ .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords) || channles.Contains(x.ChannelId))
join b in _lifePayChannlesRep on a.ChannelId equals b.ChannlesNum into temp
from b in temp.DefaultIfEmpty()
select new LifePayOrderListOutput
@@ -290,15 +301,14 @@
{
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.閫�娆惧け璐�
+ .Where(x => 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.LifePayRefundStatus.HasValue, x => x.LifePayRefundStatus == input.LifePayRefundStatus.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)
@@ -338,6 +348,44 @@
return result;
}
+
+ /// <summary>
+ /// 閫�娆捐鍗曞垎椤�
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ public async Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input)
+ {
+
+
+ var result = await (await GetLifePayRefundOrderListFilter(input)).Select(x => new LifePayRefundOrderListTemplate
+ {
+ FinishTime = x.FinishTime,
+ RefundPrice = x.RefundPrice,
+ LifePayOrderType = x.LifePayOrderType,
+ LifePayType = x.LifePayType,
+ PayAmount = x.PayAmount,
+ PhoneNumber = x.PhoneNumber,
+ RefundOrderNo = x.RefundOrderNo,
+ ChannelName = x.ChannelName
+ }).OrderByDescending(r => r.CreationTime).ToListAsync();
+ var i = 0;
+ result.ForEach(s =>
+ {
+ s.SerialNumber = ++i;
+ s.ACOOLYStatusStr = s.ACOOLYStatus.GetDescription();
+ s.LifePayOrderTypeStr = s.LifePayOrderType.GetDescription();
+ s.CreationTimeStr = s.CreationTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
+ s.RechargeAmountStr = s.RechargeAmount.ToString("F2");
+ s.ActualReceivedAmount = s.ActualReceivedAmount;
+ s.LifePayRefundStatus = s.LifePayRefundStatus.GetDescription();
+ s.PayAmountStr = s.PayAmount.ToString("F2");
+ s.LifePayTypeStr = s.LifePayType.GetDescription();
+ s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm);
+ });
+ return result;
+ }
+
public async Task<LifePayOrderOutput> GetLifePayOrderDetail(string orderNo)
{
@@ -477,6 +525,8 @@
RefundApplyRemark = x.RefundApplyRemark,
RefundTime = x.RefundTime,
ACOOLYOrderNo = x.ACOOLYOrderNo,
+ LifePayRefundStatus = x.LifePayRefundStatus,
+ ACOOLYStatus = x.ACOOLYStatus,
})
.GetPageResult(input.PageModel);
}
@@ -777,7 +827,7 @@
var orderInput = new CreateLifePayOrderInput
{
OrderNo = channle.ChannlesNum + CreateOrderNo(),
- LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�,
+ LifePayOrderStatus = LifePayOrderStatusEnum.鍏呭�间腑,
LifePayOrderType = LifePayOrderTypeEnum.璇濊垂璁㈠崟,
//LifePayType = input.LifePayType,
OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData),
@@ -826,7 +876,7 @@
var orderInput = new CreateLifePayOrderInput
{
OrderNo = channle.ChannlesNum + CreateOrderNo(),
- LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�,
+ LifePayOrderStatus = LifePayOrderStatusEnum.鍏呭�间腑,
LifePayOrderType = LifePayOrderTypeEnum.鐢佃垂璁㈠崟,
// LifePayType = input.LifePayType,
OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData),
@@ -875,7 +925,7 @@
var orderInput = new CreateLifePayOrderInput
{
OrderNo = channle.ChannlesNum + CreateOrderNo(),
- LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�,
+ LifePayOrderStatus = LifePayOrderStatusEnum.鍏呭�间腑,
LifePayOrderType = LifePayOrderTypeEnum.鐕冩皵璁㈠崟,
// LifePayType = input.LifePayType,
OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData),
@@ -1188,7 +1238,7 @@
}
order.LifePayRefundStatus = LifePayRefundStatusEnum.鏃犻渶閫�娆�;
- order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�;
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.鍏呭�间腑;
//SetOrderStatus(order, result.Code);
order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo;
order.ACOOLYOrderNo = result.ACOOLYOrderNo.IsNullOrEmpty() ? null : result.ACOOLYOrderNo;
@@ -1196,7 +1246,7 @@
catch (Exception ex)
{
_logger.LogError(ex, "澶勭悊鐢熸椿缂磋垂鏀粯鎴愬姛鍥炶皟鏃跺紓甯�");
- order.LifePayOrderStatus = LifePayOrderStatusEnum.宸插け璐�;
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呴��娆�;
order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�;
}
_logger.LogError("鐢熸椿缂磋垂璁㈠崟鐘舵�侊細" + order.LifePayOrderStatus.ToString());
@@ -1209,30 +1259,24 @@
/// <param name="orderNo"></param>
/// <param name="outOrderNo"></param>
/// <returns></returns>
- public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount)
+ public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount,string refundApplyRemark)
{
var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "璁㈠崟涓嶅瓨鍦�");
- if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�)
- {
- return;
- }
+ //if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�)
+ //{
+ // return;
+ //}
order.PlatformDeductionAmount = payAmount;
if (acoolyOrderNo.IsNotNullOrEmpty())
{
order.ACOOLYOrderNo = acoolyOrderNo;
}
-
- if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�)
+ if (refundApplyRemark.IsNotNullOrEmpty())
{
- order.FinishTime = DateTime.Now;
- }
-
- if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插け璐� && order.LifePayRefundStatus != LifePayRefundStatusEnum.宸查��娆�)
- {
- order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�;
+ order.RefundApplyRemark = refundApplyRemark;
}
order.LifePayOrderStatus = status;
@@ -1267,7 +1311,7 @@
input.RefundPrice = order.PayAmount;
}
- if (order.LifePayOrderStatus != LifePayOrderStatusEnum.宸插け璐� && order.PayStatus != LifePayStatusEnum.寰呴��娆� && order.LifePayOrderStatus != LifePayOrderStatusEnum.閫�娆惧緟瀹℃牳)
+ if (order.LifePayOrderStatus != LifePayOrderStatusEnum.寰呴��娆� || order.PayStatus != LifePayStatusEnum.宸叉敮浠� || order.LifePayRefundStatus != LifePayRefundStatusEnum.寰呴��娆�)
{
throw new UserFriendlyException("褰撳墠璁㈠崟鐘舵�佹棤娉曢��娆�");
}
@@ -1288,12 +1332,16 @@
order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆句腑;
order.LifePayRefundStatus = LifePayRefundStatusEnum.閫�娆句腑;
}
+ else if (wxRefundResult.Message == "璁㈠崟宸插叏棰濋��娆�")
+ {
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.宸查��娆�;
+ order.LifePayRefundStatus = LifePayRefundStatusEnum.宸查��娆�;
+ }
else
{
- order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆惧け璐�;
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呴��娆�;
order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�;
}
-
break;
case LifePayTypeEnum.AliPay:
var aliRefundResult = await AliTradeRefund(new AlipayTradeRefundRequest() { OutTradeNo = order.OrderNo, RefundAmount = Convert.ToInt32(input.RefundPrice * 100).ToString() });
@@ -1312,7 +1360,7 @@
order.RefundCheckUserId = CurrentUser.Id;
order.RefundPrice = input.RefundPrice;
- await _lifePayOrderRepository.UpdateAsync(order);
+ //await _lifePayOrderRepository.UpdateAsync(order);
#region 璁板綍鏃ュ織
@@ -1342,17 +1390,25 @@
return;
}
- if (order.LifePayOrderStatus != LifePayOrderStatusEnum.寰呯‘璁� && order.LifePayOrderStatus != LifePayOrderStatusEnum.宸插け璐�
- && order.PayStatus != LifePayStatusEnum.宸叉敮浠�)
+ if (order.PayStatus == LifePayStatusEnum.宸叉敮浠� && order.LifePayOrderStatus != LifePayOrderStatusEnum.宸插畬鎴�
+ && order.LifePayOrderStatus != LifePayOrderStatusEnum.寰呴��娆� && order.LifePayOrderStatus != LifePayOrderStatusEnum.宸查��娆�)
+ {
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呴��娆�;
+ order.RefundApplyRemark = input.RefundApplyRemark;
+ order.RefundApplyTime = DateTime.Now;
+
+ await _lifePayOrderRepository.UpdateAsync(order);
+ }
+ else if (order.LifePayOrderStatus == LifePayOrderStatusEnum.寰呴��娆� || order.LifePayRefundStatus == LifePayRefundStatusEnum.寰呴��娆� ||
+ order.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆句腑 || order.LifePayRefundStatus == LifePayRefundStatusEnum.閫�娆句腑 ||
+ order.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆� || order.LifePayRefundStatus == LifePayRefundStatusEnum.宸查��娆�)
+ {
+ throw new UserFriendlyException("褰撳墠璁㈠崟鏃犳硶閲嶅鐢宠閫�娆�");
+ }
+ else
{
throw new UserFriendlyException("褰撳墠璁㈠崟鐘舵�佹棤娉曠敵璇烽��娆�");
}
-
- order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆惧緟瀹℃牳;
- order.RefundApplyRemark = input.RefundApplyRemark;
- order.RefundApplyTime = DateTime.Now;
-
- await _lifePayOrderRepository.UpdateAsync(order);
}
/// <summary>
@@ -1370,7 +1426,7 @@
{
OutTradeNo = outTradeNo,
OutRefundNo = outRefundNo,
- Reason = reason,
+ //Reason = reason,
Amount = new Model_WxPayDomesticRefunds_Amount
{
Refund = refund,
@@ -1434,7 +1490,7 @@
if (input.LifePayType == LifePayOrderTypeEnum.璇濊垂璁㈠崟)
{
var extraProperties = JsonConvert.DeserializeObject<Model_UserAccountExtraProperties>(input.ExtraProperties);
- if (!string.IsNullOrEmpty(extraProperties.Name))
+ if (!string.IsNullOrEmpty(extraProperties.Name) && extraProperties.Phone == user.PhoneNumber)
{
user.Name = extraProperties.Name;
}
@@ -1476,10 +1532,17 @@
return;
}
- if ((order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插け璐� && order.PayStatus == LifePayStatusEnum.寰呴��娆�) ||
- order.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆惧緟瀹℃牳 || order.LifePayOrderStatus == LifePayOrderStatusEnum.寰呯‘璁�)
+ if (order.LifePayOrderStatus == LifePayOrderStatusEnum.寰呴��娆�)
{
- order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆惧け璐�;
+ if (order.ACOOLYStatus == ACOOLYStatusEnum.宸插畬鎴� || order.ACOOLYStatus == ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�)
+ {
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.宸插畬鎴�;
+ }
+ else if (order.ACOOLYStatus == ACOOLYStatusEnum.鍏呭�煎け璐�)
+ {
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆惧け璐�;
+ }
+
order.RefundCheckRemark = input.RefundCheckRemark;
order.RefundCheckUserId = CurrentUser.Id;
@@ -1678,7 +1741,7 @@
order.FinishTime = DateTime.Now;
break;
case ACOOLYConstant.Code.PROCESSING:
- order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呯‘璁�;
+ order.LifePayOrderStatus = LifePayOrderStatusEnum.鍏呭�间腑;
break;
default:
break;
@@ -1906,6 +1969,55 @@
return result;
}
+ private async Task<IQueryable<LifePayOrderListOutput>> GetLifePayRefundOrderListFilter(QueryLifePayRefundOrderListInput input)
+ {
+ var result = (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository)
+ .Where(x => 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))
+ 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,
+ RefundApplyTime = a.RefundApplyTime,
+ RefundTime = a.RefundTime,
+ RefundPrice = a.RefundPrice,
+ ChannelName = b.ChannlesName,
+ ActualRechargeAmount = a.ActualRechargeAmount,
+ PlatformDeductionAmount = a.PlatformDeductionAmount,
+ ACOOLYStatus = a.ACOOLYStatus,
+ LifePayRefundStatus = a.LifePayRefundStatus,
+ });
+ return result;
+ }
private IQueryable<CreateEditPayChannelsInput> GetLifePayChannlesListFilter()
{
return _lifePayChannlesRep.Select(x =>
diff --git a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
index d6b7fad..5bcd101 100644
--- a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
@@ -47,9 +47,9 @@
var accumulatedIncome = await _lifePayOrderRepository.Where(x => x.CreationTime < today).SumAsync(x => x.ActualRechargeAmount);
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 yesterdayFail = await _lifePayOrderRepository.Where(x => x.CreationTime >= today.AddDays(-1) && x.CreationTime < today && x.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆惧け璐�).CountAsync();
var accumulatedUsers = await _lifePayUserRepository.CountAsync();
-
+ var yesterdayActiveUsers = await _lifePayUserRepository.Where(x => x.LastLoginTime >= today.AddDays(-1)).CountAsync();
var entity = new DallyStatistics()
{
Id = GuidGenerator.Create(),
@@ -62,6 +62,7 @@
YesterdaySuccess = yesterdaySuccess,
YesterdayFail = yesterdayFail,
AccumulatedUsers = accumulatedUsers,
+ YesterdayActiveUsers = yesterdayActiveUsers
};
await _dallyStatisticsRepository.InsertAsync(entity);
@@ -75,6 +76,7 @@
YesterdaySuccess = entity.YesterdaySuccess,
YesterdayFail = entity.YesterdayFail,
AccumulatedUsers = entity.AccumulatedUsers,
+ YesterdayActiveUsers = yesterdayActiveUsers
};
return topStatisticsOutput;
}
diff --git a/LifePayment/LifePayment.Application/LifePaymentServicesApplicationModuleAutoMapperProfile.cs b/LifePayment/LifePayment.Application/LifePaymentServicesApplicationModuleAutoMapperProfile.cs
index 68e9053..abedd35 100644
--- a/LifePayment/LifePayment.Application/LifePaymentServicesApplicationModuleAutoMapperProfile.cs
+++ b/LifePayment/LifePayment.Application/LifePaymentServicesApplicationModuleAutoMapperProfile.cs
@@ -14,6 +14,8 @@
CreateMap<CreateLifePayOrderInput, LifePayOrder>(MemberList.None);
CreateMap<CreateEditPayChannelsInput, LifePayChannles>(MemberList.None);
+
+ CreateMap<CreateBackClientUserInput, CreateAccountInput>(MemberList.None);
#endregion
}
}
diff --git a/LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs b/LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs
index b64e9cf..b1185f6 100644
--- a/LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs
+++ b/LifePayment/LifePayment.Application/Setting/OperateHistoryService.cs
@@ -48,7 +48,6 @@
case OperateHistoryTypeEnum.AccountManage:
query = query.Where(x => x.UserId == input.TypeId
&& LifePaymentConstant.LogsSpecies.AccountManageOperateNameList.Contains(x.OperateName));
-
break;
case OperateHistoryTypeEnum.LifePayChannles:
query = query.Where(x => x.RelationId == input.TypeId);
diff --git a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
index 3ab14a3..3acbb10 100644
--- a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
+++ b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs
@@ -41,10 +41,35 @@
閫�娆句腑 = 50,
}
+//public enum LifePayOrderStatusEnum
+//{
+// [Description("鍏呭�间腑")]
+// 寰呯‘璁� = 10,
+
+// [Description("宸插け璐�")]
+// 宸插け璐� = 20,
+
+// [Description("宸插畬鎴�")]
+// 宸插畬鎴� = 30,
+
+// [Description("閫�娆惧緟瀹℃牳")]
+// 閫�娆惧緟瀹℃牳 = 40,
+
+// [Description("宸查��娆�")]
+// 宸查��娆� = 50,
+
+// [Description("閫�娆惧け璐�")]
+// 閫�娆惧け璐� = 60,
+
+
+// [Description("閫�娆句腑")]
+// 閫�娆句腑 = 70,
+//}
+
public enum LifePayOrderStatusEnum
{
- [Description("寰呯‘璁�")]
- 寰呯‘璁� = 10,
+ [Description("鍏呭�间腑")]
+ 鍏呭�间腑 = 10,
[Description("宸插け璐�")]
宸插け璐� = 20,
@@ -52,8 +77,8 @@
[Description("宸插畬鎴�")]
宸插畬鎴� = 30,
- [Description("閫�娆惧緟瀹℃牳")]
- 閫�娆惧緟瀹℃牳 = 40,
+ [Description("寰呴��娆�")]
+ 寰呴��娆� = 40,
[Description("宸查��娆�")]
宸查��娆� = 50,
@@ -64,6 +89,7 @@
[Description("閫�娆句腑")]
閫�娆句腑 = 70,
+
}
public enum ACOOLYStatusEnum
diff --git a/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs b/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs
index 4c235b5..c94907b 100644
--- a/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs
+++ b/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs
@@ -613,11 +613,11 @@
[JsonProperty("out_refund_no")]
public string OutRefundNo { get; set; }
- /// <summary>
- /// 閫�娆惧師鍥�
- /// </summary>
- [JsonProperty("reason")]
- public string Reason { get; set; }
+ ///// <summary>
+ ///// 閫�娆惧師鍥�
+ ///// </summary>
+ //[JsonProperty("reason")]
+ //public string Reason { get; set; }
/// <summary>
/// 閫�娆剧粨鏋滃洖璋僽rl
@@ -721,6 +721,13 @@
[JsonProperty("amount")]
public Model_WxPayRetuenDomesticRefunds_Amount Amount { get; set; }
+
+ /// <summary>
+ /// 杩斿洖淇℃伅
+ /// </summary>
+ [JsonProperty("message")]
+ public string Message { get; set; }
+
}
public class Model_WxPayRetuenDomesticRefunds_Amount: Model_WxPayDomesticRefunds_Amount
diff --git a/LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs b/LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs
index 01146f6..f6c1394 100644
--- a/LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs
+++ b/LifePayment/LifePayment.Domain/LifePay/LifePayOrder.cs
@@ -81,12 +81,12 @@
public string ACOOLYOrderNo { get; set; }
/// <summary>
- /// 璁㈠崟鐘舵��
+ /// 骞冲彴璁㈠崟鐘舵��
/// </summary>
public LifePayOrderStatusEnum LifePayOrderStatus { get; set; }
/// <summary>
- /// 骞冲彴鐘舵��
+ /// 渚涘簲鍟嗙姸鎬�
/// </summary>
public ACOOLYStatusEnum? ACOOLYStatus { get; set; }
diff --git a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
index dc1a9ed..44eb421 100644
--- a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -104,6 +104,12 @@
</summary>
<returns></returns>
</member>
+ <member name="M:LifePayment.HttpApi.LifePayController.GetChannelRate(LifePayment.Domain.Shared.ChannelsBaseInput)">
+ <summary>
+ 鑾峰彇娓犻亾鎶樻墸
+ </summary>
+ <returns></returns>
+ </member>
<member name="M:LifePayment.HttpApi.LifePayController.GetPremium">
<summary>
鑾峰彇鎵嬬画璐硅垂鐜�
@@ -234,6 +240,13 @@
<param name="input"></param>
<returns></returns>
</member>
+ <member name="M:LifePayment.HttpApi.LifePayController.GetLifePayRefudOrderPageExport(LifePayment.Application.Contracts.QueryLifePayRefundOrderListInput)">
+ <summary>
+ 瀵煎嚭閫�娆捐鍗旹xcel
+ </summary>
+ <param name="input"></param>
+ <returns></returns>
+ </member>
<member name="M:LifePayment.HttpApi.LifePayController.CreateLifePayPhoneOrder(LifePayment.Application.Contracts.CreateLifePayOrderInput{LifePayment.Application.Contracts.LifePhoneData})">
<summary>
鍒涘缓鐢熸椿缂磋垂璇濊垂璁㈠崟
diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
index 83e9f57..d1566ed 100644
--- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -42,9 +42,9 @@
<param name="outOrderNo"></param>
<returns></returns>
</member>
- <member name="M:LifePayment.Application.Contracts.ILifePayService.ACOOLYOrderNotifyHandler(System.String,System.String,LifePayment.Domain.Shared.LifePayOrderStatusEnum,LifePayment.Domain.Shared.ACOOLYStatusEnum,System.Decimal)">
+ <member name="M:LifePayment.Application.Contracts.ILifePayService.ACOOLYOrderNotifyHandler(System.String,System.String,LifePayment.Domain.Shared.LifePayOrderStatusEnum,LifePayment.Domain.Shared.ACOOLYStatusEnum,System.Decimal,System.String)">
<summary>
- 鏀粯鎴愬姛鍥炶皟澶勭悊
+ 渚涘簲鍟嗗洖璋冨鐞�
</summary>
<param name="orderNo"></param>
<param name="acoolyOrderNo"></param>
@@ -127,6 +127,12 @@
<member name="M:LifePayment.Application.Contracts.ILifePayService.GetRate">
<summary>
鑾峰彇鎶樻墸
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:LifePayment.Application.Contracts.ILifePayService.GetChannelRate(LifePayment.Domain.Shared.ChannelsBaseInput)">
+ <summary>
+ 鑾峰彇娓犻亾鎶樻墸
</summary>
<returns></returns>
</member>
@@ -520,6 +526,11 @@
璁㈠崟鐘舵��
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.QueryLifePayRefundOrderListInput.LifePayRefundStatus">
+ <summary>
+ 璁㈠崟鐘舵��
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.QueryLifePayRefundOrderListInput.UserId">
<summary>
鐢ㄦ埛Id
@@ -725,6 +736,11 @@
璁㈠崟鍙�
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.RefundOrderNo">
+ <summary>
+ 閫�娆捐鍗曞彿
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderListOutput.RechargeAmount">
<summary>
鍏呭�奸噾棰�
@@ -865,6 +881,51 @@
瀹屾垚鏃堕棿
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RefundApplyTimeStr">
+ <summary>
+ 閫�娆剧敵璇锋椂闂�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.CreationTime">
+ <summary>
+ 涓嬪崟鏃堕棿
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RechargeAmount">
+ <summary>
+ 鍏呭�奸噾棰�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.ActualReceivedAmount">
+ <summary>
+ 瀹為檯鍒拌处閲戦
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.PayAmount">
+ <summary>
+ 瀹炰粯閲戦
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.RefundPrice">
+ <summary>
+ 閫�娆鹃噾棰�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.ACOOLYStatusStr">
+ <summary>
+ 渚涘簲鍟嗚鍗曠姸鎬�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.FinishTime">
+ <summary>
+ 瀹屾垚鏃堕棿
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.LifePayRefundOrderListTemplate.LifePayRefundStatus">
+ <summary>
+ 骞冲彴閫�娆剧姸鎬�
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.UserLifePayOrderOutput.LifePayType">
<summary>
鐢熸椿缂磋垂鏀粯绫诲瀷
@@ -938,6 +999,16 @@
<member name="P:LifePayment.Application.Contracts.UserLifePayOrderOutput.ACOOLYOrderNo">
<summary>
娓犻亾娴佹按鍙�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.UserLifePayOrderOutput.LifePayRefundStatus">
+ <summary>
+ 骞冲彴閫�娆剧姸鎬�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.UserLifePayOrderOutput.ACOOLYStatus">
+ <summary>
+ 骞冲彴鐘舵��
</summary>
</member>
<member name="P:LifePayment.Application.Contracts.LifePayOrderOutput.UserPhoneNumber">
@@ -1980,6 +2051,11 @@
鎵嬫満鍙�
</summary>
</member>
+ <member name="P:LifePayment.Application.Contracts.CreateBackClientUserInput.Password">
+ <summary>
+ 瀵嗙爜
+ </summary>
+ </member>
<member name="P:LifePayment.Application.Contracts.CreateBackClientUserInput.UserName">
<summary>
璐︽埛
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
index df58574..82e8728 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
@@ -52,10 +52,11 @@
}
var baseInfo = JsonConvert.DeserializeObject<ACOOLYRequestBaseResponse>(body);
var orderNo = string.Empty;
- LifePayOrderStatusEnum status = LifePayOrderStatusEnum.宸插け璐�;
+ LifePayOrderStatusEnum status = LifePayOrderStatusEnum.寰呴��娆�;
ACOOLYStatusEnum acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
var acoolyOrderNo = string.Empty;
decimal payAmount = 0;
+ string refundApplyRemark = string.Empty;
_logger.LogError("ACOOLY鍥炶皟閫氬鐞嗙被鍨嬶細" + baseInfo.Service);
_logger.LogError("ACOOLY鍥炶皟鍐呭锛�" + body);
switch (baseInfo.Service)
@@ -70,7 +71,7 @@
if (!confirmElectricOrderResponse.Success
|| (confirmElectricOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmElectricOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
else
@@ -82,14 +83,15 @@
else
if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑)
{
- status = LifePayOrderStatusEnum.寰呯‘璁�;
+ status = LifePayOrderStatusEnum.鍏呭�间腑;
acoolyStatus = ACOOLYStatusEnum.鍏呭�间腑;
}
else
if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�煎け璐�)
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+ refundApplyRemark = "渚涘簲鍟嗗厖鍊煎け璐�";
}
else
if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.閫�娆句腑)
@@ -106,7 +108,7 @@
else
if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.澶辫触鍏抽棴)
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
break;
@@ -119,7 +121,7 @@
if (!confirmPhoneOrderResponse.Success
|| (confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
else
@@ -133,13 +135,13 @@
if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑)
{
- status = LifePayOrderStatusEnum.寰呯‘璁�;
+ status = LifePayOrderStatusEnum.鍏呭�间腑;
acoolyStatus = ACOOLYStatusEnum.鍏呭�间腑;
}
else
if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.鍏呭�煎け璐�)
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
else
@@ -157,7 +159,7 @@
else
if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.澶辫触鍏抽棴)
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
break;
@@ -170,7 +172,7 @@
if (!confirmGasOrderResponse.Success
|| (confirmGasOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmGasOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
else
@@ -184,13 +186,13 @@
if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑)
{
- status = LifePayOrderStatusEnum.寰呯‘璁�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�间腑;
}
else
if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.鍏呭�煎け璐�)
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
else
@@ -208,7 +210,7 @@
else
if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.澶辫触鍏抽棴)
{
- status = LifePayOrderStatusEnum.宸插け璐�;
+ status = LifePayOrderStatusEnum.寰呴��娆�;
acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
}
break;
@@ -216,7 +218,7 @@
throw new UserFriendlyException("ACOOLY鍥炶皟閫氬鐞嗙被鍨嬩笉瀛樺湪");
}
- await _lifePayService.ACOOLYOrderNotifyHandler(orderNo, acoolyOrderNo, status, acoolyStatus, payAmount);
+ await _lifePayService.ACOOLYOrderNotifyHandler(orderNo, acoolyOrderNo, status, acoolyStatus, payAmount, refundApplyRemark);
}
}
}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
index a7d2889..3758621 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -150,6 +150,17 @@
}
/// <summary>
+ /// 鑾峰彇娓犻亾鎶樻墸
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public async Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input)
+ {
+ return await _lifePayService.GetChannelRate(input);
+ }
+
+ /// <summary>
/// 鑾峰彇鎵嬬画璐硅垂鐜�
/// </summary>
/// <returns></returns>
@@ -376,6 +387,24 @@
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)
{
--
Gitblit v1.9.1