shanji 3 years ago
parent
commit
95b0a8cb5f
  1. 80
      BBWY.Server.Business/SiNan/GOIWarningBusiness.cs

80
BBWY.Server.Business/SiNan/GOIWarningBusiness.cs

@ -33,7 +33,7 @@ namespace BBWY.Server.Business.SiNan
public void StartCheckGOI()
{
var shopList = venderBusiness.GetShopList(shopId: 11514921, platform: Enums.Platform., filterSiNan: true);
var shopList = venderBusiness.GetShopList(platform: Enums.Platform., filterSiNan: true);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => CheckGOI(shop), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.GOIWarningTaskScheduler);
@ -70,10 +70,10 @@ namespace BBWY.Server.Business.SiNan
var skuIds = yesterdayJDpopularizeadskuList.Where(s => s.BusinessType == 134217728).Select(s => s.Sku).Distinct().ToList();
bool isSendDingTalk = false;
var dingdingContentBuilder = new StringBuilder();
dingdingContentBuilder.Append(shop.ShopName);
dingdingContentBuilder.AppendLine();
IList<StringBuilder> dingdingSendBuilderList = new List<StringBuilder>();
StringBuilder adGroupDingdingContentBuilder = null;
StringBuilder adDingdingContentBuilder = null;
StringBuilder skuDingdingContentBuilder = null;
var growupCost = 0; //成长加速期花费阈值
var growupLevel1Cost = 0; //成长加速期第一阶段成本
@ -208,10 +208,10 @@ namespace BBWY.Server.Business.SiNan
isWarning = true;
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
}
else if (adGroupGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
else if (adGroupGOI.CustomDaysGOI.GOI > growupLevel2MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
else if (adGroupGOI.TotalCost >= growupLevel3MinCost && adGroupGOI.TotalCost <= growupLevel3MaxCost)
@ -221,10 +221,10 @@ namespace BBWY.Server.Business.SiNan
isWarning = true;
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel3MinGOI},请及时优化!";
}
else if (adGroupGOI.CustomDaysGOI.GOI < growupLevel3MaxGOI)
else if (adGroupGOI.CustomDaysGOI.GOI > growupLevel3MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
}
@ -239,7 +239,7 @@ namespace BBWY.Server.Business.SiNan
else if (adGroupGOI.CustomDaysGOI.GOI > matureLevel1MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
else if (adGroupGOI.TotalCost >= stableCost && adGroupGOI.CustomDaysGOI.Cost < stable7dCost)
@ -253,7 +253,7 @@ namespace BBWY.Server.Business.SiNan
else if (adGroupGOI.CustomDaysGOI.GOI > stableLevel1MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{stableLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI于{stableLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
@ -265,13 +265,16 @@ namespace BBWY.Server.Business.SiNan
nLogManager.GetLogger(loggerName).Info(logContentBuilder);
if (isWarning)
{
isSendDingTalk = true;
if (!isAddBusinessTypeTitle)
{
dingdingContentBuilder.Append("快车业务线-单元维度\n");
adGroupDingdingContentBuilder = new StringBuilder();
dingdingSendBuilderList.Add(adGroupDingdingContentBuilder);
adGroupDingdingContentBuilder.Append(shop.ShopName);
adGroupDingdingContentBuilder.AppendLine();
adGroupDingdingContentBuilder.Append("快车业务线-单元维度\n");
isAddBusinessTypeTitle = true;
}
dingdingContentBuilder.Append($"{dingdingWarningContent}{(i == adGroupGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
adGroupDingdingContentBuilder.Append($"{dingdingWarningContent}{(i == adGroupGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
}
}
#endregion
@ -317,10 +320,10 @@ namespace BBWY.Server.Business.SiNan
isWarning = true;
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
}
else if (adGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
else if (adGOI.CustomDaysGOI.GOI > growupLevel2MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
else if (adGOI.TotalCost >= growupLevel3MinCost && adGOI.TotalCost <= growupLevel3MaxCost)
@ -330,10 +333,10 @@ namespace BBWY.Server.Business.SiNan
isWarning = true;
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel3MinGOI},请及时优化!";
}
else if (adGOI.CustomDaysGOI.GOI < growupLevel3MaxGOI)
else if (adGOI.CustomDaysGOI.GOI > growupLevel3MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
}
@ -348,7 +351,7 @@ namespace BBWY.Server.Business.SiNan
else if (adGOI.CustomDaysGOI.GOI > matureLevel1MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
else if (adGOI.TotalCost >= stableCost && adGOI.CustomDaysGOI.Cost < stable7dCost)
@ -362,7 +365,7 @@ namespace BBWY.Server.Business.SiNan
else if (adGOI.CustomDaysGOI.GOI > stableLevel1MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{stableLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI于{stableLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
@ -375,14 +378,17 @@ namespace BBWY.Server.Business.SiNan
if (isWarning)
{
isSendDingTalk = true;
if (!isAddBusinessTypeTitle)
{
dingdingContentBuilder.Append("快车业务线-创意维度\n");
adDingdingContentBuilder = new StringBuilder();
dingdingSendBuilderList.Add(adDingdingContentBuilder);
adDingdingContentBuilder.Append(shop.ShopName);
adDingdingContentBuilder.AppendLine();
adDingdingContentBuilder.Append("快车业务线-创意维度\n");
isAddBusinessTypeTitle = true;
}
dingdingContentBuilder.Append($"{dingdingWarningContent}{(i == adGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
adDingdingContentBuilder.Append($"{dingdingWarningContent}{(i == adGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
}
}
#endregion
@ -428,10 +434,10 @@ namespace BBWY.Server.Business.SiNan
isWarning = true;
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
}
else if (skuGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
else if (skuGOI.CustomDaysGOI.GOI > growupLevel2MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
else if (skuGOI.TotalCost >= growupLevel3MinCost && skuGOI.TotalCost <= growupLevel3MaxCost)
@ -441,10 +447,10 @@ namespace BBWY.Server.Business.SiNan
isWarning = true;
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel3MinGOI},请及时优化!";
}
else if (skuGOI.CustomDaysGOI.GOI < growupLevel3MaxGOI)
else if (skuGOI.CustomDaysGOI.GOI > growupLevel3MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
@ -460,7 +466,7 @@ namespace BBWY.Server.Business.SiNan
else if (skuGOI.CustomDaysGOI.GOI > matureLevel1MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
else if (skuGOI.TotalCost >= stableCost && skuGOI.CustomDaysGOI.Cost < stable7dCost)
@ -474,7 +480,7 @@ namespace BBWY.Server.Business.SiNan
else if (skuGOI.CustomDaysGOI.GOI > stableLevel1MaxGOI)
{
isWarning = true;
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{stableLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI于{stableLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
@ -487,20 +493,26 @@ namespace BBWY.Server.Business.SiNan
if (isWarning)
{
isSendDingTalk = true;
if (!isAddBusinessTypeTitle)
{
dingdingContentBuilder.Append("京速推业务线-SKU维度\n");
skuDingdingContentBuilder = new StringBuilder();
dingdingSendBuilderList.Add(skuDingdingContentBuilder);
skuDingdingContentBuilder.Append(shop.ShopName);
skuDingdingContentBuilder.AppendLine();
skuDingdingContentBuilder.Append("京速推业务线-SKU维度\n");
isAddBusinessTypeTitle = true;
}
dingdingContentBuilder.Append($"{dingdingWarningContent}{(i == skuGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
skuDingdingContentBuilder.Append($"{dingdingWarningContent}{(i == skuGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
}
}
#endregion
if (isSendDingTalk)
dingDingBusiness.SendDingDingBotMessage(shop.SiNanDingDingKey, shop.SiNanDingDingWebHook, dingdingContentBuilder.ToString());
if (dingdingSendBuilderList.Count > 0)
{
foreach(var sendBuilder in dingdingSendBuilderList)
dingDingBusiness.SendDingDingBotMessage(shop.SiNanDingDingKey, shop.SiNanDingDingWebHook, sendBuilder.ToString());
}
}
catch (Exception ex)
{

Loading…
Cancel
Save