From 9b049e38ed069736a54ab6308126d861678f8720 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sun, 17 Apr 2022 23:36:54 +0800 Subject: [PATCH] =?UTF-8?q?bbwy=20spu=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Statistics/StatisticsBusiness.cs | 19 +++++++++++-------- .../Order/XingXiangSearchOrderRequest.cs | 3 +++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index e2225093..0861fc53 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -47,12 +47,10 @@ namespace BBWY.Server.Business IList list = null; //查询订单 - var select = fsql.Select().Where(o => o.ShopId == xingXiangSearchOrderRequest.ShopId) - .Where(o => o.StartTime >= beginTime && o.StartTime <= endTime); - var childSelect = fsql.Select().As("osku") - .Where(osku => xingXiangSearchOrderRequest.SpuList.Contains(osku.ProductId)); - select = select.Where(o => childSelect.Where(osku => osku.OrderId == o.Id).Any()); - var orderList = select.ToList(); + var orderList = fsql.Select().Where(o => o.ShopId == xingXiangSearchOrderRequest.ShopId) + .Where(o => o.StartTime >= beginTime && o.StartTime <= endTime) + .Where(o => !invalidOrderStateList.Contains(o.OrderState.Value)) + .ToList(); if (orderList.Count() == 0) return null; @@ -68,8 +66,10 @@ namespace BBWY.Server.Business foreach (var order in orderList) { var skuCount = orderSkuList.Count(osku => osku.OrderId == order.Id); - var currentOrderSkuGroups = orderSkuList.Where(osku => osku.OrderId == order.Id && - xingXiangSearchOrderRequest.SpuList.Contains(osku.ProductId)).GroupBy(osku => osku.ProductId); + var currentOrderSkuGroupsSelect = orderSkuList.Where(osku => osku.OrderId == order.Id); + if (xingXiangSearchOrderRequest.SpuList != null && xingXiangSearchOrderRequest.SpuList.Count() > 0) + currentOrderSkuGroupsSelect = orderSkuList.Where(osku => xingXiangSearchOrderRequest.SpuList.Contains(osku.ProductId)); + var currentOrderSkuGroups = currentOrderSkuGroupsSelect.GroupBy(osku => osku.ProductId); foreach (var group in currentOrderSkuGroups) { var spuId = group.Key; @@ -84,7 +84,10 @@ namespace BBWY.Server.Business var profit = procutAmount + freightPriceByUser - purchaseAmount - deliveryFreight - commissionAmount; var xxRespose = list.FirstOrDefault(xx => xx.Spu == spuId); if (xxRespose == null) + { xxRespose = new XingXinagSearchResponse() { Spu = spuId, Profit = 0M }; + list.Add(xxRespose); + } xxRespose.Profit += profit; } } diff --git a/BBWY.Server.Model/Dto/Request/Order/XingXiangSearchOrderRequest.cs b/BBWY.Server.Model/Dto/Request/Order/XingXiangSearchOrderRequest.cs index 0409ee2d..d7518647 100644 --- a/BBWY.Server.Model/Dto/Request/Order/XingXiangSearchOrderRequest.cs +++ b/BBWY.Server.Model/Dto/Request/Order/XingXiangSearchOrderRequest.cs @@ -6,6 +6,9 @@ namespace BBWY.Server.Model.Dto { public class XingXiangSearchOrderRequest { + /// + /// 不传默认全店查询 + /// public IList SpuList { get; set; } public DateTime SearchDate { get; set; }