/// <summary> /// 门店商品查询 /// </summary> /// <param name="query"></param> /// <returns></returns> public static QueryPageModel <ProductInfo> GetShopBranchProducts(ShopBranchProductQuery query) { var pageModel = _shopBranchService.SearchProduct(query); //TODO:补充门店销售数量 var orders = OrderApplication.GetOrdersNoPage(new OrderQuery { ShopBranchId = query.shopBranchId }); var orderItems = OrderApplication.GetOrderItemsByOrderId(orders.Select(e => e.Id)); var pids = pageModel.Models.Select(e => e.Id); var productSaleCounts = orderItems.Where(e => pids.Contains(e.ProductId)).GroupBy(o => o.ProductId).Select(e => new { productId = e.Key, saleCount = e.Sum(p => p.Quantity) }); foreach (var p in pageModel.Models) { var productCount = productSaleCounts.FirstOrDefault(e => e.productId == p.Id); if (productCount != null) { p.SaleCounts = productCount.saleCount; } else { p.SaleCounts = 0;//门店商品无销量则为0,不应用默认的商家商品销量 } } return(pageModel); }