From 208129aae3137815b23f1895e4a3644d45180b41 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Wed, 27 Mar 2024 12:23:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E7=AB=9E=E6=A0=87=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=8C=89=E5=88=86=E7=BB=84=E8=AF=84=E9=80=89=20?= =?UTF-8?q?=E8=AE=AE=E4=BB=B7=E9=99=90=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=8C=89?= =?UTF-8?q?8h=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SkuOptimization/OptimizationBusiness.cs | 25 +++++++++++-------- .../Sync/OrderSyncBusiness.cs | 4 +-- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 83e55ae..3d59249 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -303,14 +303,14 @@ namespace BBWYB.Server.Business { //判断sku是否首次采购 - var isFirst = !dbSpuTotalInfoList.Any(s => s.ProductId == productId); + //var isFirst = !dbSpuTotalInfoList.Any(s => s.ProductId == productId); insertTimeLimitTaskList.Add(new TimeLimitTask() { Id = idGenerator.NewLong(), CreateTme = DateTime.Now, //ExpirationTime = DateTime.Now.AddDays(isFirst ? 2 : 1), - ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now.AddDays(isFirst ? 1 : 0)), + ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now), //OrderId = o.OrderId, //OrderSn = o.OrderSn, ShopId = shopId, @@ -786,14 +786,19 @@ namespace BBWYB.Server.Business IList purchaseSchemeList) { var victoryList = new List(); - var psGroups = purchaseSchemeList.GroupBy(ps => ps.SkuId); - foreach (var psGroup in psGroups) - { - var psListOrderByCostDescList = psGroup.OrderByDescending(ps => ps.BargainingCost ?? ps.DefaultCost).ToList(); - var minCostScheme = psListOrderByCostDescList.FirstOrDefault(); - var competitiveTenderTask = competitiveTenderTaskList.FirstOrDefault(ct => ct.SchemeId == minCostScheme.Id); - victoryList.Add(competitiveTenderTask); - } + var psGroups = purchaseSchemeList.GroupBy(ps => ps.SchemeGroupId); + var winGroupKey = psGroups.Select(g => new { SchemeGroupId = g.Key, Cost = g.Sum(ps => ps.BargainingCost ?? ps.DefaultCost) }) + .OrderByDescending(x => x.Cost) + .FirstOrDefault(); + victoryList.AddRange(competitiveTenderTaskList.Where(ct=>ct.SchemeGroupId == winGroupKey.SchemeGroupId)); + + //foreach (var psGroup in psGroups) + //{ + // var psListOrderByCostDescList = psGroup.OrderByDescending(ps => ps.BargainingCost ?? ps.DefaultCost).ToList(); + // var minCostScheme = psListOrderByCostDescList.FirstOrDefault(); + // var competitiveTenderTask = competitiveTenderTaskList.FirstOrDefault(ct => ct.SchemeId == minCostScheme.Id); + // victoryList.Add(competitiveTenderTask); + //} return victoryList; } diff --git a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs index 6df1905..3ba7300 100644 --- a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs @@ -611,14 +611,14 @@ namespace BBWYB.Server.Business.Sync { //判断sku是否首次采购 - var isFirst = !dbSpuTotalSaleInfoList.Any(s => s.ProductId == spuGroup.Key); + //var isFirst = !dbSpuTotalSaleInfoList.Any(s => s.ProductId == spuGroup.Key); insertTimeLimitTaskList.Add(new TimeLimitTask() { Id = idGenerator.NewLong(), CreateTme = DateTime.Now, //ExpirationTime = DateTime.Now.AddDays(isFirst ? 2 : 1), - ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now.AddDays(isFirst ? 1 : 0)), + ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now), //OrderId = o.OrderId, //OrderSn = o.OrderSn, ShopId = shopId,