diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 52e80a4..7439363 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -635,6 +635,8 @@ namespace BBWYB.Server.Business skuKeyWords = request.SpuOrSku; } + var barginTeamId = uInfo.bargainTeam?.Id ?? string.Empty; + select = fsql.Select() .Where(t => t.IsOptimizationCompleted == false && t.CreateTime >= request.StartTime && @@ -647,10 +649,22 @@ namespace BBWYB.Server.Business .WhereIf(!string.IsNullOrEmpty(skuKeyWords), st => st.SkuId == skuKeyWords) .Any()) .WhereIf(!string.IsNullOrEmpty(request.TitleKeywords), t => t.ProductTitle.Contains(request.TitleKeywords)) - .WhereIf(!string.IsNullOrEmpty(spuKeyWords), t => t.ProductId == spuKeyWords); + .WhereIf(!string.IsNullOrEmpty(spuKeyWords), t => t.ProductId == spuKeyWords) + .WhereIf(request.IsCompleted, t => t.IsOptimizationCompleted == true || + fsql.Select() + .Where(sbt => sbt.IsOptimizationCompleted == true && + sbt.SpuOptimizationTaskId == t.Id && + sbt.BelongTeamId == barginTeamId) + .Any()) + .WhereIf(!request.IsCompleted && !string.IsNullOrEmpty(barginTeamId), t => t.IsOptimizationCompleted == false && + fsql.Select() + .Where(sbt => sbt.IsOptimizationCompleted == false && + sbt.SpuOptimizationTaskId == t.Id && + sbt.BelongTeamId == barginTeamId) + .Any()); } - var taskList = select.OrderByDescending(t => t.CreateTime) + var taskList = select.OrderBy(t => t.CreateTime) .Count(out var total) .Page(request.PageIndex, request.PageSize) .ToList(); diff --git a/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs b/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs index bca729f..c228773 100644 --- a/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs @@ -40,5 +40,10 @@ namespace BBWYB.Server.Model.Dto /// 标题关键字 /// public string TitleKeywords { get; set; } + + /// + /// 是否完成 (议价组完成视为完成) + /// + public bool IsCompleted { get; set; } } }