Browse Source

评价助手自动任务检查前置完成但后续没有开始的任务

pjzs_starttask_update
shanji 1 year ago
parent
commit
0b6527e2bd
  1. 22
      BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs

22
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<PromotionTask>().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<PromotionTask>()
.WhereIf(shopId != null, pt => pt.ShopId == shopId)
.Where(cpt => cpt.Status == Enums.PromitionTaskStatus. && cpt.PreTaskId != -1 && cpt.IsEnabled == true)
.Where(cpt => fsql.Select<PromotionTask>().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)

Loading…
Cancel
Save