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,