|  |  | 
 |  |  | using LifePayment.Domain; | 
 |  |  | using static LifePayment.Domain.Shared.LifePaymentConstant; | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using LifePayment.Domain.Common; | 
 |  |  | using Spire.Pdf.Exporting.XPS.Schema; | 
 |  |  |  | 
 |  |  | namespace LifePayment.Application.LifePay | 
 |  |  | { | 
 |  |  | 
 |  |  |         public async Task<PageOutput<LifePayChannlesRakeListOutput>> GetLifePayChannlesRakePage(LifePayChannlesRakePageInput input) | 
 |  |  |         { | 
 |  |  |             var list = await _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false) | 
 |  |  |                 .WhereIf(input.ChannelId != null, x => x.ChannelId == input.ChannelId) | 
 |  |  |                 .WhereIf(input.ChannelId.IsNotNullOrEmpty(), x => x.ChannelId == input.ChannelId) | 
 |  |  |                 .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin) | 
 |  |  |                 .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd) | 
 |  |  |                 .WhereIf(input.FinishTimeBegin.HasValue, x => x.FinishTime >= input.FinishTimeBegin) | 
 |  |  | 
 |  |  |             return list; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public async Task<List<LifePayChannlesRakeListTemplate>> GetLifePayChannlesRakePageExport(LifePayChannlesRakePageInput input) | 
 |  |  |         { | 
 |  |  |             var result = await (await GetLifePayChannlesRakeListFilter(input)).Select(x => new LifePayChannlesRakeListTemplate | 
 |  |  |             { | 
 |  |  |                 CreationTime = x.CreationTime, | 
 |  |  |                 FinishTime = x.FinishTime, | 
 |  |  |                 OrderNo = x.OrderNo, | 
 |  |  |                 PayAmount = x.PayAmount, | 
 |  |  |                 ChannlesRakeRate = x.ChannlesRakeRate, | 
 |  |  |                 ChannlesRakePrice = x.ChannlesRakePrice | 
 |  |  |             }).OrderByDescending(r => r.CreationTime).ToListAsync(); | 
 |  |  |             var i = 0; | 
 |  |  |             result.ForEach(s => | 
 |  |  |             { | 
 |  |  |                 s.SerialNumber = ++i; | 
 |  |  |                 s.CreationTimeStr = s.CreationTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss); | 
 |  |  |                 s.PayAmountStr = s.PayAmount.ToString("F2"); | 
 |  |  |                 s.ChannlesRakeRateStr = s.ChannlesRakeRate.ToString("F0") + "%"; | 
 |  |  |                 s.ChannlesRakePriceStr = s.ChannlesRakePrice.ToString("F2"); | 
 |  |  |                 s.FinishTimeStr = s.FinishTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss); | 
 |  |  |             }); | 
 |  |  |             return result; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 操作 | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 编辑充值流水 | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |          | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 插入收支流水 | 
 |  |  |         /// </summary> | 
 |  |  | 
 |  |  |                         input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts; | 
 |  |  |                         await AddLifePayExpensesReceipts(input); | 
 |  |  |                     } | 
 |  |  |                      | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 私有 | 
 |  |  |         private async Task<IQueryable<LifePayChannlesRakeListOutput>> GetLifePayChannlesRakeListFilter(LifePayChannlesRakePageInput input) | 
 |  |  |         { | 
 |  |  |             var list = _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false) | 
 |  |  |                 .WhereIf(input.ChannelId.IsNotNullOrEmpty(), x => x.ChannelId == input.ChannelId) | 
 |  |  |                 .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin) | 
 |  |  |                 .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd) | 
 |  |  |                 .WhereIf(input.FinishTimeBegin.HasValue, x => x.FinishTime >= input.FinishTimeBegin) | 
 |  |  |                 .WhereIf(input.FinishTimeEnd.HasValue, x => x.FinishTime <= input.FinishTimeEnd) | 
 |  |  |  | 
 |  |  |                 .Select(x => new LifePayChannlesRakeListOutput() | 
 |  |  |                 { | 
 |  |  |                     Id = x.Id, | 
 |  |  |                     OrderNo = x.OrderNo, | 
 |  |  |                     PayAmount = x.PayAmount, | 
 |  |  |                     ChannlesRakeRate = x.ChannlesRakeRate, | 
 |  |  |                     ChannlesRakePrice = x.ChannlesRakePrice, | 
 |  |  |                     ChannelId = x.ChannelId, | 
 |  |  |                     FinishTime = x.FinishTime, | 
 |  |  |                     CreationTime = x.CreationTime, | 
 |  |  |                 }); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             return list; | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } |