From 36535f0829ded9e989ae8ae881dc9c64f01c67db Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 9 Oct 2023 13:38:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=A1=A5=E9=94=80=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataRepair/DataRepairBusiness.cs | 50 ++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs index a18cacc..fb2be4e 100644 --- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs +++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs @@ -40,7 +40,6 @@ namespace BBWYB.Server.Business kuaiDi100Manager.SubscribeKuaiDi100(waybillNo, targetCompanyCode, "http://bbwyb.qiyue666.com/api/purchaseorder/kuaidi100publish"); } - public void SupplementOrderSkuCost() { var orderSkuCostList = fsql.Select().InnerJoin((ocd, o) => ocd.OrderId == o.Id) @@ -510,5 +509,54 @@ namespace BBWYB.Server.Business } } } + + public void RepairHistoryItemCount() + { + List insertSpuSaleInfoList = new List(); + List insertSkuSaleInfoList = new List(); + + var noOrderStateList = new List() + { + Enums.OrderState.已取消, + Enums.OrderState.待付款 + }; + var spuSaleGroups = fsql.Select() + .InnerJoin((osku, o) => osku.OrderId == o.Id) + .Where((osku, o) => !noOrderStateList.Contains(o.OrderState)) + .GroupBy((osku, o) => new { osku.ProductId, o.ShopId }) + .ToList(g => new + { + g.Key.ProductId, + g.Key.ShopId, + ItemCount = g.Sum(g.Value.Item1.ItemTotal) + }); + + var skuSaleGroups = fsql.Select() + .InnerJoin((osku, o) => osku.OrderId == o.Id) + .Where((osku, o) => !noOrderStateList.Contains(o.OrderState)) + .GroupBy((osku, o) => new { osku.ProductId, osku.SkuId, o.ShopId }) + .ToList(g => new + { + g.Key.ProductId, + g.Key.SkuId, + g.Key.ShopId, + ItemCount = g.Sum(g.Value.Item1.ItemTotal) + }); + + foreach (var spuSale in spuSaleGroups) + { + var insertSpuSale = new SpuTotalSaleInfo() + { + ProductId = spuSale.ProductId, + ShopId = spuSale.ShopId, + CreateTime = DateTime.Now, + IsEnabled = true, + ItemCount = Convert.ToInt64(spuSale.ItemCount), + UpdateTime = DateTime.Now, + LastOptimizationItemCount = Convert.ToInt64(spuSale.ItemCount), + LastOptimizationTime = DateTime.Now + }; + } + } } }