From 7403f402af05dcb6a21955ba717e12b9b6d7201a Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Tue, 13 Dec 2022 12:13:41 +0800
Subject: [PATCH] 1
---
BBWY.Client/Views/MainWindow.xaml | 2 +-
.../SiNan/GOIWarningBusiness.cs | 143 +++++++-----------
2 files changed, 53 insertions(+), 92 deletions(-)
diff --git a/BBWY.Client/Views/MainWindow.xaml b/BBWY.Client/Views/MainWindow.xaml
index 8d778748..811f48cd 100644
--- a/BBWY.Client/Views/MainWindow.xaml
+++ b/BBWY.Client/Views/MainWindow.xaml
@@ -26,7 +26,7 @@
-
+
diff --git a/BBWY.Server.Business/SiNan/GOIWarningBusiness.cs b/BBWY.Server.Business/SiNan/GOIWarningBusiness.cs
index 51617fad..c9d7d0bb 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(platform: Enums.Platform.京东, filterSiNan: true);
+ var shopList = venderBusiness.GetShopList(shopId: 11514921, platform: Enums.Platform.京东, filterSiNan: true);
foreach (var shop in shopList)
{
Task.Factory.StartNew(() => CheckGOI(shop), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.GOIWarningTaskScheduler);
@@ -77,15 +77,14 @@ namespace BBWY.Server.Business.SiNan
var growupCost = 0; //成长加速期花费阈值
var growupLevel1Cost = 0; //成长加速期第一阶段成本
- var growupLevel2Cost = 0; //成长加速期第二阶段成本
+ var growupLevel2MinCost = 0; //成长加速期第二阶段最低成本
+ var growupLevel2MaxCost = 0M; //成长加速期第二阶段最大成本
var growupLevel2MinGOI = 0M; //成长加速器第二阶段最低GOI
var growupLevel2MaxGOI = 0M; //成长加速器第二阶段最大GOI
- var growupLevel3Cost = 0; //成长加速期第三阶段成本
+ var growupLevel3MinCost = 0; //成长加速期第三阶段最小成本
+ var growupLevel3MaxCost = 0M; //成长加速期第三阶段最大成本
var growupLevel3MinGOI = 0M; //成长加速器第三阶段最低GOI
var growupLevel3MaxGOI = 0M; //成长加速器第三阶段最大GOI
- var growupLevel4Cost = 0; //成长加速期第四阶段成本
- var growupLevel4MinGOI = 0M; //成长加速器第四阶段最低GOI
- var growupLevel4MaxGOI = 0M; //成长加速器第四阶段最大GOI
var matureCost = 0; //成熟期花费阈值
var mature7dCost = 0; //成熟期7天花费阈值
@@ -102,15 +101,14 @@ namespace BBWY.Server.Business.SiNan
{
growupCost = 300;
growupLevel1Cost = 100;
- growupLevel2Cost = 100;
+ growupLevel2MinCost = 100;
+ growupLevel2MaxCost = 199.9M;
growupLevel2MinGOI = 0.5M;
growupLevel2MaxGOI = 1.1M;
- growupLevel3Cost = 200;
+ growupLevel3MinCost = 200;
+ growupLevel3MaxCost = 299.9M;
growupLevel3MinGOI = 0.7M;
growupLevel3MaxGOI = 1.1M;
- growupLevel4Cost = 300;
- growupLevel4MinGOI = 0.9M;
- growupLevel4MaxGOI = 1.1M;
matureCost = 300;
mature7dCost = 150;
@@ -126,15 +124,14 @@ namespace BBWY.Server.Business.SiNan
{
growupCost = 600;
growupLevel1Cost = 200;
- growupLevel2Cost = 200;
+ growupLevel2MinCost = 200;
+ growupLevel2MaxCost = 399.9M;
growupLevel2MinGOI = 0.5M;
growupLevel2MaxGOI = 1.1M;
- growupLevel3Cost = 400;
+ growupLevel3MinCost = 400;
+ growupLevel3MaxCost = 599.9M;
growupLevel3MinGOI = 0.7M;
growupLevel3MaxGOI = 1.1M;
- growupLevel4Cost = 600;
- growupLevel4MinGOI = 0.9M;
- growupLevel4MaxGOI = 1.1M;
matureCost = 600;
mature7dCost = 300;
@@ -150,15 +147,14 @@ namespace BBWY.Server.Business.SiNan
{
growupCost = 1000;
growupLevel1Cost = 300;
- growupLevel2Cost = 300;
+ growupLevel2MinCost = 300;
+ growupLevel2MaxCost = 699.9M;
growupLevel2MinGOI = 0.5M;
growupLevel2MaxGOI = 1.1M;
- growupLevel3Cost = 700;
+ growupLevel3MinCost = 700;
+ growupLevel3MaxCost = 999.9M;
growupLevel3MinGOI = 0.7M;
growupLevel3MaxGOI = 1.1M;
- growupLevel4Cost = 999;
- growupLevel4MinGOI = 0.9M;
- growupLevel4MaxGOI = 1.1M;
matureCost = 1000;
mature7dCost = 500;
@@ -182,8 +178,10 @@ namespace BBWY.Server.Business.SiNan
EndDate = yesterday
});
- foreach (var adGroupGOI in adGroupGOIList)
+ //foreach (var adGroupGOI in adGroupGOIList)
+ for (var i = 0; i < adGroupGOIList.Count(); i++)
{
+ var adGroupGOI = adGroupGOIList[i];
var adGroup = yesterdayJDpopularizeadskuList.FirstOrDefault(s => s.AdGroupId == adGroupGOI.LevelId);
if (adGroup == null)
continue;
@@ -203,20 +201,20 @@ namespace BBWY.Server.Business.SiNan
//不建议调整
isWarning = false;
}
- else if (adGroupGOI.TotalCost >= growupLevel4Cost)
+ else if (adGroupGOI.TotalCost >= growupLevel2MinCost && adGroupGOI.TotalCost <= growupLevel2MaxCost)
{
- if (adGroupGOI.CustomDaysGOI.GOI < growupLevel4MinGOI)
+ if (adGroupGOI.CustomDaysGOI.GOI < growupLevel2MinGOI)
{
isWarning = true;
- dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel4MinGOI},请及时优化!";
+ dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
}
- else if (adGroupGOI.CustomDaysGOI.GOI > growupLevel4MaxGOI)
+ else if (adGroupGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
{
isWarning = true;
- dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel4MaxGOI},舍不得孩子套不住狼,请及时优化!";
+ dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (adGroupGOI.TotalCost >= growupLevel3Cost)
+ else if (adGroupGOI.TotalCost >= growupLevel3MinCost && adGroupGOI.TotalCost <= growupLevel3MaxCost)
{
if (adGroupGOI.CustomDaysGOI.GOI < growupLevel3MinGOI)
{
@@ -229,21 +227,8 @@ namespace BBWY.Server.Business.SiNan
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (adGroupGOI.TotalCost >= growupLevel2Cost)
- {
- if (adGroupGOI.CustomDaysGOI.GOI < growupLevel2MinGOI)
- {
- isWarning = true;
- dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
- }
- else if (adGroupGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
- {
- isWarning = true;
- dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
- }
- }
}
- else if (adGroupGOI.TotalCost > matureCost && adGroupGOI.CustomDaysGOI.Cost > mature7dCost)
+ else if (adGroupGOI.TotalCost >= matureCost && adGroupGOI.CustomDaysGOI.Cost >= mature7dCost)
{
siNanCycleType = Enums.SiNanCycleType.成熟利润期;
if (adGroupGOI.CustomDaysGOI.GOI < matureLevel1MinGOI)
@@ -257,7 +242,7 @@ namespace BBWY.Server.Business.SiNan
dingdingWarningContent = $"{adGroup.CampaignName}-{adGroup.AdGroupName} 处于{siNanCycleType},近7天GOI低于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (adGroupGOI.TotalCost > stableCost && adGroupGOI.CustomDaysGOI.Cost < stable7dCost)
+ else if (adGroupGOI.TotalCost >= stableCost && adGroupGOI.CustomDaysGOI.Cost < stable7dCost)
{
siNanCycleType = Enums.SiNanCycleType.稳定日销期;
if (adGroupGOI.CustomDaysGOI.GOI < stableLevel1MinGOI)
@@ -286,8 +271,7 @@ namespace BBWY.Server.Business.SiNan
dingdingContentBuilder.Append("快车业务线-单元维度\n");
isAddBusinessTypeTitle = true;
}
-
- dingdingContentBuilder.Append($"{dingdingWarningContent}\n");
+ dingdingContentBuilder.Append($"{dingdingWarningContent}{(i == adGroupGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
}
}
#endregion
@@ -304,8 +288,9 @@ namespace BBWY.Server.Business.SiNan
EndDate = yesterday
});
- foreach (var adGOI in adGOIList)
+ for (var i = 0; i < adGOIList.Count(); i++)
{
+ var adGOI = adGOIList[i];
var ad = yesterdayJDpopularizeadskuList.FirstOrDefault(s => s.AdId == adGOI.LevelId);
if (ad == null)
continue;
@@ -325,20 +310,20 @@ namespace BBWY.Server.Business.SiNan
//不建议调整
isWarning = false;
}
- else if (adGOI.TotalCost >= growupLevel4Cost)
+ else if (adGOI.TotalCost >= growupLevel2MinCost && adGOI.TotalCost <= growupLevel2MaxCost)
{
- if (adGOI.CustomDaysGOI.GOI < growupLevel4MinGOI)
+ if (adGOI.CustomDaysGOI.GOI < growupLevel2MinGOI)
{
isWarning = true;
- dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel4MinGOI},请及时优化!";
+ dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
}
- else if (adGOI.CustomDaysGOI.GOI > growupLevel4MaxGOI)
+ else if (adGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
{
isWarning = true;
- dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel4MaxGOI},舍不得孩子套不住狼,请及时优化!";
+ dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (adGOI.TotalCost >= growupLevel3Cost)
+ else if (adGOI.TotalCost >= growupLevel3MinCost && adGOI.TotalCost <= growupLevel3MaxCost)
{
if (adGOI.CustomDaysGOI.GOI < growupLevel3MinGOI)
{
@@ -351,21 +336,8 @@ namespace BBWY.Server.Business.SiNan
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (adGOI.TotalCost >= growupLevel2Cost)
- {
- if (adGOI.CustomDaysGOI.GOI < growupLevel2MinGOI)
- {
- isWarning = true;
- dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
- }
- else if (adGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
- {
- isWarning = true;
- dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
- }
- }
}
- else if (adGOI.TotalCost > matureCost && adGOI.CustomDaysGOI.Cost > mature7dCost)
+ else if (adGOI.TotalCost >= matureCost && adGOI.CustomDaysGOI.Cost >= mature7dCost)
{
siNanCycleType = Enums.SiNanCycleType.成熟利润期;
if (adGOI.CustomDaysGOI.GOI < matureLevel1MinGOI)
@@ -379,7 +351,7 @@ namespace BBWY.Server.Business.SiNan
dingdingWarningContent = $"{ad.CampaignName}-{ad.AdGroupName}-{ad.AdName} 处于{siNanCycleType},近7天GOI低于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (adGOI.TotalCost > stableCost && adGOI.CustomDaysGOI.Cost < stable7dCost)
+ else if (adGOI.TotalCost >= stableCost && adGOI.CustomDaysGOI.Cost < stable7dCost)
{
siNanCycleType = Enums.SiNanCycleType.稳定日销期;
if (adGOI.CustomDaysGOI.GOI < stableLevel1MinGOI)
@@ -410,7 +382,7 @@ namespace BBWY.Server.Business.SiNan
isAddBusinessTypeTitle = true;
}
- dingdingContentBuilder.Append($"{dingdingWarningContent}\n");
+ dingdingContentBuilder.Append($"{dingdingWarningContent}{(i == adGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
}
}
#endregion
@@ -427,8 +399,9 @@ namespace BBWY.Server.Business.SiNan
EndDate = yesterday
});
- foreach (var skuGOI in skuGOIList)
+ for (var i = 0; i < skuGOIList.Count(); i++)
{
+ var skuGOI = skuGOIList[i];
var sku = yesterdayJDpopularizeadskuList.FirstOrDefault(s => s.Sku == skuGOI.LevelId);
if (sku == null)
continue;
@@ -448,20 +421,20 @@ namespace BBWY.Server.Business.SiNan
//不建议调整
isWarning = false;
}
- else if (skuGOI.TotalCost >= growupLevel4Cost)
+ else if (skuGOI.TotalCost >= growupLevel2MinCost && skuGOI.TotalCost <= growupLevel2MaxCost)
{
- if (skuGOI.CustomDaysGOI.GOI < growupLevel4MinGOI)
+ if (skuGOI.CustomDaysGOI.GOI < growupLevel2MinGOI)
{
isWarning = true;
- dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel4MinGOI},请及时优化!";
+ dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
}
- else if (skuGOI.CustomDaysGOI.GOI > growupLevel4MaxGOI)
+ else if (skuGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
{
isWarning = true;
- dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel4MaxGOI},舍不得孩子套不住狼,请及时优化!";
+ dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (skuGOI.TotalCost >= growupLevel3Cost)
+ else if (skuGOI.TotalCost >= growupLevel3MinCost && skuGOI.TotalCost <= growupLevel3MaxCost)
{
if (skuGOI.CustomDaysGOI.GOI < growupLevel3MinGOI)
{
@@ -474,21 +447,9 @@ namespace BBWY.Server.Business.SiNan
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel3MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (skuGOI.TotalCost >= growupLevel2Cost)
- {
- if (skuGOI.CustomDaysGOI.GOI < growupLevel2MinGOI)
- {
- isWarning = true;
- dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel2MinGOI},请及时优化!";
- }
- else if (skuGOI.CustomDaysGOI.GOI < growupLevel2MaxGOI)
- {
- isWarning = true;
- dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{growupLevel2MaxGOI},舍不得孩子套不住狼,请及时优化!";
- }
- }
+
}
- else if (skuGOI.TotalCost > matureCost && skuGOI.CustomDaysGOI.Cost > mature7dCost)
+ else if (skuGOI.TotalCost >= matureCost && skuGOI.CustomDaysGOI.Cost >= mature7dCost)
{
siNanCycleType = Enums.SiNanCycleType.成熟利润期;
if (skuGOI.CustomDaysGOI.GOI < matureLevel1MinGOI)
@@ -502,7 +463,7 @@ namespace BBWY.Server.Business.SiNan
dingdingWarningContent = $"{sku.CampaignName}-{sku.Sku} 处于{siNanCycleType},近7天GOI低于{matureLevel1MaxGOI},舍不得孩子套不住狼,请及时优化!";
}
}
- else if (skuGOI.TotalCost > stableCost && skuGOI.CustomDaysGOI.Cost < stable7dCost)
+ else if (skuGOI.TotalCost >= stableCost && skuGOI.CustomDaysGOI.Cost < stable7dCost)
{
siNanCycleType = Enums.SiNanCycleType.稳定日销期;
if (skuGOI.CustomDaysGOI.GOI < stableLevel1MinGOI)
@@ -533,7 +494,7 @@ namespace BBWY.Server.Business.SiNan
isAddBusinessTypeTitle = true;
}
- dingdingContentBuilder.Append($"{dingdingWarningContent}\n");
+ dingdingContentBuilder.Append($"{dingdingWarningContent}{(i == skuGOIList.Count() - 1 ? "\r" : string.Empty)}\n");
}
}
#endregion