public BaseApiResponse DashBoard() { var users = _userQueryService.UserList(); var wallets = _walletQueryService.AllWallets(); var stores = _storeQueryService.StoreList(); var storeOrders = _storeOrderQueryService.StoreOrderList(); var rechargeApplyes = _walletQueryService.RechargeApplyLogs(); var incentiveBenevolenceTransfers = _walletQueryService.GetBenevolenceTransfers(BenevolenceTransferType.Incentive); return(new DashBoardResponse { UserCount = users.Count(), NewRegCount = users.Where(x => x.CreatedOn > DateTime.Now.AddDays(-7)).Count(), AmbassadorCount = users.Where(x => x.Role == UserRole.Ambassador).Count(), NewAmbassadorCount = users.Where(x => x.CreatedOn > DateTime.Now.AddDays(-7) && x.Role == UserRole.Ambassador).Count(), CashTotal = wallets.Sum(x => x.Cash), LockedCashTotal = wallets.Sum(x => x.LockedCash), RechargeApplysTotal = rechargeApplyes.Where(x => x.Status == RechargeApplyStatus.Placed).Sum(x => x.Amount), BenevolenceTotal = wallets.Sum(x => x.Benevolence), TodayBenevolenceAddedTotal = wallets.Sum(x => x.TodayBenevolenceAdded), LastIncentiveAmount = incentiveBenevolenceTransfers.Where(x => x.CreatedOn.Date.Equals(DateTime.Now.Date)).Sum(x => x.Amount), TotalIncentiveAmount = incentiveBenevolenceTransfers.Sum(x => x.Amount), TotalSale = stores.Sum(x => x.TotalSale), TodaySale = stores.Sum(x => x.TodaySale), StoreOrderCount = stores.Sum(x => x.TotalOrder), TodayStoreOrderCount = stores.Sum(x => x.TodayOrder), TodayOrderProfit = storeOrders.Where(x => x.CreatedOn.Date == DateTime.Now.Date).Sum(x => x.Total) - storeOrders.Where(x => x.CreatedOn.Date == DateTime.Now.Date).Sum(x => x.StoreTotal), TotalOrderProfit = storeOrders.Sum(x => x.Total) - storeOrders.Sum(x => x.StoreTotal) }); }
public ListPageResponse ListPage([FromBody] ListPageRequest request) { request.CheckNotNull(nameof(request)); var pageSize = 20; var storeOrders = _storeOrderQueryService.StoreOrderList(); var total = storeOrders.Count(); //筛选 if (request.Status != StoreOrderStatus.All) { storeOrders = storeOrders.Where(x => x.Status == request.Status); } if (!request.Number.IsNullOrEmpty()) { storeOrders = storeOrders.Where(x => x.Number.Contains(request.Number)); } if (!request.Mobile.IsNullOrEmpty()) { storeOrders = storeOrders.Where(x => x.Mobile.Contains(request.Mobile)); } if (!request.StoreName.IsNullOrEmpty()) { storeOrders = storeOrders.Where(x => x.Name.Contains(request.StoreName)); } total = storeOrders.Count(); //分页 storeOrders = storeOrders.OrderByDescending(x => x.CreatedOn).Skip(pageSize * (request.Page - 1)).Take(pageSize); return(new ListPageResponse { Total = total, StoreOrders = storeOrders.Select(x => new StoreOrderWithInfo { Id = x.Id, StoreId = x.StoreId, Name = x.Name, Mobile = x.Mobile, NickName = x.NickName, UserId = x.UserId, Region = x.Region, Number = x.Number, Remark = x.Remark, ExpressRegion = x.ExpressRegion, ExpressAddress = x.ExpressAddress, ExpressName = x.ExpressName, ExpressMobile = x.ExpressMobile, ExpressZip = x.ExpressZip, CreatedOn = x.CreatedOn, Total = x.Total, ShopCash = x.ShopCash, StoreTotal = x.StoreTotal, DeliverExpressName = x.DeliverExpressName, DeliverExpressCode = x.DeliverExpressCode, DeliverExpressNumber = x.DeliverExpressNumber, Status = x.Status.ToString() }).ToList() }); }
/// <summary> /// 自动确认收货 /// </summary> private void ProcessConfirmDeliverOrder() { //获取可自动确认收货的订单 var unConfirmDeliverOrders = _storeOrderQueryService.StoreOrderList().Where( x => x.Status == Common.Enums.StoreOrderStatus.Expressing && x.DeliverTime.HasValue && x.DeliverTime.Value.Add(ConfigSettings.OrderAutoConfirmDeliver) < DateTime.Now); if (unConfirmDeliverOrders.Any()) { foreach (var expiredOrder in unConfirmDeliverOrders) { var command = new ConfirmDeliverCommand { AggregateRootId = expiredOrder.Id }; _commandService.SendAsync(command); } } }