From 95b0a8cb5f2a5ac223b342673ff0cf8882de3c19 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 13 Dec 2022 20:25:32 +0800 Subject: [PATCH] 1 --- .../SiNan/GOIWarningBusiness.cs | 80 +++++++++++-------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/BBWY.Server.Business/SiNan/GOIWarningBusiness.cs b/BBWY.Server.Business/SiNan/GOIWarningBusiness.cs index c9d7d0bb..0c82bb1f 100644 --- a/BBWY.Server.Business/SiNan/GOIWarningBusiness.cs +++ b/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 dingdingSendBuilderList = new List(); + 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) {