From 0b6527e2bdf386dc5247d13d008a34966695ca9e Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Thu, 1 Feb 2024 10:39:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E4=BB=B7=E5=8A=A9=E6=89=8B=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E4=BB=BB=E5=8A=A1=E6=A3=80=E6=9F=A5=E5=89=8D=E7=BD=AE?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BD=86=E5=90=8E=E7=BB=AD=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=BC=80=E5=A7=8B=E7=9A=84=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EvaluationAssistantBusiness.cs | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs index 2c3ffbe5..5f4efde8 100644 --- a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs +++ b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs @@ -202,7 +202,7 @@ namespace BBWY.Server.Business request.CustomMotherSku = request.CustomMotherSku.Trim(); if (!string.IsNullOrEmpty(request.MainProductGiftSku)) request.MainProductGiftSku = request.MainProductGiftSku.Trim(); - if (request.PreTaskId == null) + if (request.PreTaskId == null || request.PreTaskId == 0) request.PreTaskId = -1; PromotionTask promotionTask = null; @@ -892,10 +892,26 @@ namespace BBWY.Server.Business //查询店铺 var shopList = venderBusiness.GetShopList(shopId, Enums.Platform.京东); - //开始下一轮开始任务 + #region 查询等待开始的任务 + //查询没有前置的任务 var nextPromotionTaskList = fsql.Select().WhereIf(shopId != null, pt => pt.ShopId == shopId) .Where(pt => pt.Status == Enums.PromitionTaskStatus.等待 && pt.PreTaskId == -1 && pt.IsEnabled == true) - .ToList(pt => new { Id = pt.Id, ShopId = pt.ShopId, TaskName = pt.ActivityName }); + .ToList(pt => new { pt.Id, pt.ShopId, TaskName = pt.ActivityName }); + + //查询前置已完成但是还没开始的后置任务 + var checkNoStartTime = DateTime.Now.AddMinutes(-30); + var preTaskJobDoneAndChildTaskNoStartList = fsql.Select() + .WhereIf(shopId != null, pt => pt.ShopId == shopId) + .Where(cpt => cpt.Status == Enums.PromitionTaskStatus.等待 && cpt.PreTaskId != -1 && cpt.IsEnabled == true) + .Where(cpt => fsql.Select().Where(pt => pt.Id == cpt.PreTaskId && + pt.Status == Enums.PromitionTaskStatus.已完成 && + pt.StopTime <= checkNoStartTime).Any()) + .ToList(pt => new { pt.Id, pt.ShopId, TaskName = pt.ActivityName }); + if (preTaskJobDoneAndChildTaskNoStartList.Count() > 0) + nextPromotionTaskList.AddRange(preTaskJobDoneAndChildTaskNoStartList); + #endregion + + //开始下一轮开始任务 if (nextPromotionTaskList.Count() > 0) { foreach (var nextTask in nextPromotionTaskList)