| | |
| | | return await GetLifePayChannlesListFilter().GetPageResult(input.PageModel); |
| | | } |
| | | |
| | | public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList() |
| | | public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList(QueryLifePayChannlesInput input) |
| | | { |
| | | return await GetLifePayChannlesListFilter().Where(x => x.Status == LifePayChannelsStatsEnum.启用).ToListAsync(); |
| | | return await GetLifePayChannlesListFilter().WhereIf(input.Status.HasValue,x => x.Status == input.Status).ToListAsync(); |
| | | } |
| | | |
| | | public async Task<CreateEditPayChannelsInput> GetLifePayChannlesDto(Guid id) |
| | |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(order.ACOOLYStatus != ACOOLYStatusEnum.部分充值成功, "该订单无法修改到账金额"); |
| | | |
| | | order.ActualReceivedAmount = input.ActualReceivedAmount; |
| | | |
| | | await _lifePayOrderRepository.UpdateAsync(order); |
| | | |
| | | return Constant.SUCCESS; |
| | |
| | | OutOrderNo = orderNo |
| | | }; |
| | | var result = await _aCOOLYManager.ConfirmElectricOrder(requestInput); |
| | | #if DEBUG |
| | | |
| | | _logger.LogInformation($"CreateACOOLYElectricOrder:{JsonConvert.SerializeObject(result)}"); |
| | | |
| | | #endif |
| | | |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(!result.Success || (result.Code != ACOOLYConstant.Code.SUCCESS && result.Code != ACOOLYConstant.Code.PROCESSING), |
| | | result.Message); |
| | |
| | | order.PayStatus = LifePayStatusEnum.已支付; |
| | | order.PayTime = DateTime.Now; |
| | | order.OutOrderNo = outOrderNo; |
| | | |
| | | try |
| | | { |
| | | var result = (Code: "Fail", RequestNo: "", ACOOLYOrderNo: ""); |
| | |
| | | //SetOrderStatus(order, result.Code); |
| | | order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo; |
| | | order.ACOOLYOrderNo = result.ACOOLYOrderNo; |
| | | order.ACOOLYStatus = ACOOLYStatusEnum.充值中; |
| | | |
| | | /// 创建生活缴费消费记录 |
| | | await _lifePayOrderService.CreatLifePayConsumption(ACOOLYStatusEnum.充值中, order.OrderNo, order.ACOOLYOrderNo, |
| | | order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogError(ex, "处理生活缴费支付成功回调时异常"); |
| | | order.LifePayOrderStatus = LifePayOrderStatusEnum.待退款; |
| | | order.LifePayRefundStatus = LifePayRefundStatusEnum.待退款; |
| | | order.ACOOLYStatus = ACOOLYStatusEnum.充值失败; |
| | | order.RefundApplyRemark = ex.Message; |
| | | } |
| | | |
| | | _logger.LogError("生活缴费订单状态:" + order.LifePayOrderStatus.ToString()); |
| | | await _lifePayOrderRepository.UpdateAsync(order); |
| | | } |
| | |
| | | { |
| | | case LifePayRefundStatusEnum.已退款: |
| | | order.LifePayOrderStatus = LifePayOrderStatusEnum.已退款; |
| | | order.ACOOLYStatus = ACOOLYStatusEnum.已退款; |
| | | order.LifePayRefundStatus = LifePayRefundStatusEnum.已退款; |
| | | break; |
| | | case LifePayRefundStatusEnum.退款中: |
| | | order.LifePayOrderStatus = LifePayOrderStatusEnum.退款中; |
| | | order.LifePayRefundStatus = LifePayRefundStatusEnum.退款中; |
| | | break; |
| | | default: break; |
| | | } |
| | |
| | | |
| | | if (order.LifePayOrderStatus == LifePayOrderStatusEnum.已完成) |
| | | { |
| | | ///结算渠道佣金 |
| | | /// 毛利 |
| | | var grossProfit = order.RechargeAmount * (order.ChannleRate - order.PlatformRate) / 100; |
| | | /// 渠道佣金 ((充值面额 * 渠道折扣比例)-(充值面额 * 平台折扣比例))* 佣金比例 |
| | |
| | | LifePayChannlesRake lifePayChannlesRake = new LifePayChannlesRake() |
| | | { |
| | | OrderNo = order.OrderNo, |
| | | PayAmount = order.PayAmount.Value, |
| | | ChannlesRakeRate = order.ChannlesRakeRate.Value, |
| | | ChannlesRakePrice = channlesRakePrice.Value, |
| | | PayAmount = order.RechargeAmount ?? 0, |
| | | ChannlesRakeRate = order.ChannlesRakeRate ?? 0, |
| | | ChannlesRakePrice = channlesRakePrice ?? 0, |
| | | FinishTime = order.FinishTime.Value, |
| | | ChannelId = order.ChannelId, |
| | | }; |
| | | await _lifePayChannlesRakeRepository.InsertAsync(lifePayChannlesRake); |
| | | } |
| | | } |
| | | |
| | | /// 创建生活缴费消费记录 |
| | | await _lifePayOrderService.CreatLifePayConsumption(acoolyStatus, order.OrderNo, order.ACOOLYOrderNo, |
| | | order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | userAccount.DeletionTime = DateTime.Now; |
| | | userAccount.IsDeleted = true; |
| | | |
| | | /// 清除户号对应的用户姓名 |
| | | if (userAccount.LifePayType == LifePayOrderTypeEnum.PhoneOrder || userAccount.LifePayType == LifePayOrderTypeEnum.ElectricOrder) |
| | | { |
| | | var user = await _lifePayUserRepository.Where(r => r.Id == userAccount.UserId && !r.IsDeleted).FirstOrDefaultAsync(); |
| | | CheckExtensions.IfTrueThrowUserFriendlyException(user == null, "用户不存在"); |
| | | var extraProperties = JsonConvert.DeserializeObject<Model_UserAccountExtraProperties>(userAccount.ExtraProperties); |
| | | if (!string.IsNullOrEmpty(extraProperties.Name) && extraProperties.Phone == user.PhoneNumber) |
| | | { |
| | | user.Name = string.Empty; |
| | | } |
| | | } |
| | | return Constant.SUCCESS; |
| | | } |
| | | |
| | |
| | | var channlesRakePrice = grossProfit * (channlesRakeRate) / 100; |
| | | |
| | | /// 利润 |
| | | var profit = grossProfit - channlesRakePrice - (premiumRate); |
| | | var profit = grossProfit - channlesRakePrice - premiumPrice; |
| | | |
| | | return new OrderPriceReturn() |
| | | { |