From 1bc1813edab77b4760b058591d17ccac42666a07 Mon Sep 17 00:00:00 2001 From: sanji Date: Sat, 13 Apr 2024 10:18:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=81=9A=E5=90=88Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SiNan.Business/AggregationBusiness.cs | 28 ++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/SiNan.Business/AggregationBusiness.cs b/SiNan.Business/AggregationBusiness.cs index 407127c..f2bbdd8 100644 --- a/SiNan.Business/AggregationBusiness.cs +++ b/SiNan.Business/AggregationBusiness.cs @@ -121,12 +121,14 @@ namespace SiNan.Business var spuQueryStartTime = DateTime.Now.Date.AddDays(-30); //查询最近30天有销量的spu - var saleSpuList = fsql.Select().Where(osku => osku.ShopId == shopId && !string.IsNullOrEmpty(osku.ProductId)) - .WhereIf(!string.IsNullOrEmpty(querySpu), osku => osku.ProductId == querySpu) - .WhereIf(string.IsNullOrEmpty(querySpu), osku => osku.CreateTime >= spuQueryStartTime) - .OrderByDescending(osku => osku.CreateTime) + var saleSpuList = fsql.Select() + .InnerJoin((o, osku) => osku.OrderId == o.Id) + .Where((o, osku) => o.ShopId == shopId && !string.IsNullOrEmpty(osku.ProductId)) + .WhereIf(!string.IsNullOrEmpty(querySpu), (o, osku) => osku.ProductId == querySpu) + .WhereIf(string.IsNullOrEmpty(querySpu), (o, osku) => o.StartTime >= spuQueryStartTime) + .OrderByDescending((o, osku) => o.StartTime) .Distinct() - .ToList(osku => osku.ProductId); + .ToList((o, osku) => osku.ProductId); //查询最近30天有推广的spu var popularizeSpuList = fsql.Select() .InnerJoin((jas, ps) => jas.Sku == ps.Id) @@ -141,6 +143,8 @@ namespace SiNan.Business .Where(ps => spuIdList.Contains(ps.ProductId) && ps.Price > 0 && ps.State == 1) .ToList(ps => new { ps.ProductId, ps.Id }); + var skuIdList = skuList.Select(ps => ps.Id).Distinct().ToList(); + //var spuIdList = fsql.Select().Where(p => p.ShopId == shopId && p.State == 8) @@ -156,16 +160,14 @@ namespace SiNan.Business // ps.Id // }); - var dbAggregationJDPopularizeSpuList = fsql.Select() - .InnerJoin((aspu, p) => aspu.Id == p.Id) - .Where((aspu, p) => p.ShopId == shopId && p.State == 8) - .WhereIf(!string.IsNullOrEmpty(querySpu), (aspu, p) => p.Id == querySpu) + var dbAggregationJDPopularizeSpuList = fsql.Select() + .Where((aspu) => aspu.ShopId == shopId) + .WhereIf(string.IsNullOrEmpty(querySpu), aspu => spuIdList.Contains(aspu.Id)) + .WhereIf(!string.IsNullOrEmpty(querySpu), (aspu) => aspu.Id == querySpu) .ToList(); - var dbAggregationJDPopularizeSkuList = fsql.Select() - .InnerJoin((asku, ps) => asku.Id == ps.Id) - .Where((asku, ps) => ps.ShopId == shopId && ps.State == 1) - .WhereIf(!string.IsNullOrEmpty(querySpu), (asku, ps) => ps.ProductId == querySpu) + var dbAggregationJDPopularizeSkuList = fsql.Select() + .Where((asku) => asku.ShopId == shopId && skuIdList.Contains(asku.Id)) .ToList(); var i = 0;