LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs
@@ -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> /// 创建生活缴费话费订单 @@ -258,7 +258,7 @@ Task<List<LifePayOrderListTemplate>> GetLifePayOrderPageExport(QueryLifePayOrderListInput input); Task<List<LifePayOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input); Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input); Task<string> GetBillErceiptExport(string orderNo); 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; } LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -354,41 +354,33 @@ /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task<List<LifePayOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input) public async Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input) { var result = await (await GetLifePayRefundOrderListFilter(input)).Select(x => new LifePayOrderListTemplate var result = await (await GetLifePayRefundOrderListFilter(input)).Select(x => new LifePayRefundOrderListTemplate { DiscountAmount = x.DiscountAmount, FinishTime = x.FinishTime, LifePayOrderStatus = x.LifePayOrderStatus, RefundPrice = x.RefundPrice, LifePayOrderType = x.LifePayOrderType, LifePayType = x.LifePayType, OrderNo = x.OrderNo, PayAmount = x.PayAmount, PhoneNumber = x.PhoneNumber, RechargeAmount = x.RechargeAmount, OutOrderNo = x.OutOrderNo, PayStatus = x.PayStatus, PayTime = x.PayTime, ACOOLYOrderNo = x.ACOOLYOrderNo, CreationTime = x.CreationTime, RefundApplyRemark = x.RefundApplyRemark, 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.PayTimeStr = !s.PayTime.HasValue ? string.Empty : s.PayTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm); s.LifePayTypeStr = s.LifePayType.GetDescription(); s.PayStatusStr = s.PayStatus.GetDescription(); s.LifePayOrderStatusStr = s.LifePayOrderStatus.GetDescription(); s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm); }); return result; @@ -1267,7 +1259,7 @@ /// <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, "订单不存在"); @@ -1282,7 +1274,10 @@ { order.ACOOLYOrderNo = acoolyOrderNo; } if (refundApplyRemark.IsNotNullOrEmpty()) { order.RefundApplyRemark = refundApplyRemark; } order.LifePayOrderStatus = status; order.ACOOLYStatus = acoolyStatus; LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -42,7 +42,7 @@ <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> @@ -526,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 @@ -731,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> 充值金额 @@ -871,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> 生活缴费支付类型 LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
@@ -56,6 +56,7 @@ 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) @@ -90,6 +91,7 @@ { status = LifePayOrderStatusEnum.待退款; acoolyStatus = ACOOLYStatusEnum.充值失败; refundApplyRemark = "供应商充值失败"; } else if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.退款中) @@ -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); } } }