| | |
| | | { |
| | | var result = await (await GetLifePayRefundOrderListFilter(input)).Select(x => new LifePayRefundOrderListTemplate |
| | | { |
| | | FinishTime = x.FinishTime, |
| | | FinishTime = x.RefundTime, |
| | | RefundPrice = x.RefundPrice, |
| | | LifePayOrderType = x.LifePayOrderType, |
| | | LifePayType = x.LifePayType, |
| | |
| | | ChannelName = x.ChannelName, |
| | | CreationTime = x.CreationTime, |
| | | ACOOLYStatus = x.ACOOLYStatus, |
| | | RefundApplyRemark = x.RefundApplyRemark, |
| | | RechargeAmount = x.RechargeAmount, |
| | | ActualReceivedAmount = x.ActualReceivedAmount.ToString("F2"), |
| | | LifePayRefundStatus = x.LifePayRefundStatus, |
| | |
| | | CreationTime = x.CreationTime, |
| | | RefundCheckRemark = x.RefundCheckRemark, |
| | | RefundApplyRemark = x.RefundApplyRemark, |
| | | RefundApplyTime = x.RefundApplyTime, |
| | | RefundTime = x.RefundTime, |
| | | ACOOLYOrderNo = x.ACOOLYOrderNo, |
| | | LifePayRefundStatus = x.LifePayRefundStatus, |
| | |
| | | { |
| | | s.SerialNumber = ++i; |
| | | s.LifePayOrderTypeStr = s.LifePayOrderType.GetDescription(); |
| | | s.CreationTimeStr = s.CreationTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm); |
| | | s.CreationTimeStr = s.CreationTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss); |
| | | s.RechargeAmountStr = s.RechargeAmount.ToString("F2"); |
| | | s.PayAmountStr = s.PayAmount.ToString("F2"); |
| | | s.PayTimeStr = !s.PayTime.HasValue ? string.Empty : s.PayTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm); |
| | | s.PayTimeStr = !s.PayTime.HasValue ? string.Empty : s.PayTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss); |
| | | s.LifePayTypeStr = s.LifePayType.GetDescription(); |
| | | s.PayStatusStr = s.PayStatus.GetDescription(); |
| | | s.ActualRechargeAmountStr = s.ActualRechargeAmount.ToString("F2"); |
| | | s.LifePayRefundStatusStr = s.LifePayRefundStatusStr.GetDescription(); |
| | | s.ACOOLYStatusStr = s.ACOOLYStatus.GetDescription(); |
| | | //s.LifePayOrderStatusStr = s.LifePayOrderStatus.GetDescription(); |
| | | s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmm); |
| | | s.FinishTimeStr = !s.FinishTime.HasValue ? string.Empty : s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss); |
| | | }); |
| | | return result; |
| | | } |
| | |
| | | |
| | | var rate = await GetRate(); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "未配置折扣"); |
| | | |
| | | |
| | | |
| | | var amount = CalculateAmount(input.ProductData.ParValue, rate.FirstOrDefault(x => x.RateType == LifePayRateTypeEnum.默认话费折扣).Rate); |
| | | |
| | |
| | | var order = await _lifePayOrderRepository.FirstOrDefaultAsync(x => x.Id == input.Id); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "订单不存在"); |
| | | |
| | | if(order.LifePayRefundStatus == LifePayRefundStatusEnum.已退款) |
| | | if (order.LifePayRefundStatus == LifePayRefundStatusEnum.已退款) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (order.LifePayOrderStatus == LifePayOrderStatusEnum.待退款) |
| | | if (order.LifePayOrderStatus == LifePayOrderStatusEnum.待退款 || order.LifePayRefundStatus == LifePayRefundStatusEnum.待退款) |
| | | { |
| | | if (order.ACOOLYStatus == ACOOLYStatusEnum.已完成 || order.ACOOLYStatus == ACOOLYStatusEnum.部分充值成功) |
| | | if (order.ACOOLYStatus == ACOOLYStatusEnum.已完成 || 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; |
| | | order.LifePayRefundStatus = LifePayRefundStatusEnum.无需退款; |
| | | |
| | | await _lifePayOrderRepository.UpdateAsync(order); |
| | | |
| | |
| | | }; |
| | | } |
| | | |
| | | public async Task<decimal> GetLifePayRate(string channelId, LifePayRateTypeEnum lifePayRateType) |
| | | { |
| | | if (string.IsNullOrEmpty(channelId)) |
| | | { |
| | | var rate = await GetRate(); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "未配置折扣"); |
| | | var result = rate.FirstOrDefault(x => x.RateType == lifePayRateType).Rate; |
| | | return result; |
| | | } |
| | | else |
| | | { |
| | | //var channel = await _lifePayChannlesRep.Where(x => x.ChannlesNum == channelId); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | } |