| | |
| | | CreationTime = x.CreationTime, |
| | | RefundCheckRemark = x.RefundCheckRemark, |
| | | RefundApplyRemark = x.RefundApplyRemark, |
| | | RefundApplyTime = x.RefundApplyTime, |
| | | RefundTime = x.RefundTime, |
| | | ACOOLYOrderNo = x.ACOOLYOrderNo, |
| | | LifePayRefundStatus = x.LifePayRefundStatus, |
| | |
| | | |
| | | var rate = await GetRate(); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "未配置折扣"); |
| | | |
| | | //var rate = await GetLifePayRate(); |
| | | |
| | | 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); |
| | | |
| | |
| | | { |
| | | var result = (from a in _channelFilter.GetChannelLifePayOrderFilter(_lifePayOrderRepository) |
| | | .Where(x => x.LifePayOrderStatus == LifePayOrderStatusEnum.待退款 || x.LifePayOrderStatus == LifePayOrderStatusEnum.已退款 || x.LifePayOrderStatus == LifePayOrderStatusEnum.退款中 |
| | | || x.LifePayRefundStatus > LifePayRefundStatusEnum.无需退款) |
| | | || (x.LifePayRefundStatus > LifePayRefundStatusEnum.无需退款 && x.LifePayRefundStatus != LifePayRefundStatusEnum.退款驳回)) |
| | | .WhereIf(input.BeginRefundTime.HasValue, x => x.RefundTime >= input.BeginRefundTime) |
| | | .WhereIf(input.EndRefundTime.HasValue, x => x.RefundTime <= input.EndRefundTime) |
| | | .WhereIf(input.BeginRefundApplyTime.HasValue, x => x.RefundApplyTime >= input.BeginRefundApplyTime) |
| | |
| | | }; |
| | | } |
| | | |
| | | 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).FirstOrDefaultAsync(); |
| | | |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(channel == null, "未找到对应渠道"); |
| | | return channel.ChannlesRate; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | } |