From 3ce7433f18611dcaf9dd993f5f478dfddfd17237 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 30 Oct 2023 01:09:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=A7=E5=93=81360GOI?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SiNan.Business/GOIBusiness.cs | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/SiNan.Business/GOIBusiness.cs b/SiNan.Business/GOIBusiness.cs index 1dab56c..2e11879 100644 --- a/SiNan.Business/GOIBusiness.cs +++ b/SiNan.Business/GOIBusiness.cs @@ -312,9 +312,18 @@ namespace SiNan.Business var jstCampaignSourceList = popularizeAdSkuSourceList.Where(x => x.BusinessType == 134217728).ToList(); var allCampaignIdList = popularizeAdSkuSourceList.Select(x => x.CampaignId).Distinct().ToList(); + var kuaicheCampaignIdList = kuaicheCampaignSourceList.Select(x => x.CampaignId).Distinct().ToList(); var jstCampaignIdList = jstCampaignSourceList.Select(x => x.CampaignId).Distinct().ToList(); + + #region 查询所有计划名称 + var allCampaignNameList = fsql.Select() + .Where(x => x.ShopId == request.ShopId && allCampaignIdList.Contains(x.CampaignId)) + .GroupBy(x => new { x.CampaignId, x.CampaignName }) + .ToList(g => new { g.Value.CampaignId, g.Value.CampaignName }); + #endregion + #region 处理所有计划的GOI var recent7DayCampaignGOIList = CalculationCampaignLevelGOI(allCampaignIdList, startDate_Recent7day, endDate_Recent7day); var recent30DayCampaignGOIList = CalculationCampaignLevelGOI(allCampaignIdList, startDate_Recent30day, endDate_Recent30day); @@ -330,7 +339,8 @@ namespace SiNan.Business CampaignId = campaignId.Value, BusinessType = 2, CampaignGOI_Recent7Day = recent7DayCampaignGOIList.FirstOrDefault(x => x.LevelId == campaignId), - CampaignGOI_Recent30Day = recent30DayCampaignGOIList.FirstOrDefault(x => x.LevelId == campaignId) + CampaignGOI_Recent30Day = recent30DayCampaignGOIList.FirstOrDefault(x => x.LevelId == campaignId), + CampaignName = allCampaignNameList.FirstOrDefault(x => x.CampaignId == campaignId)?.CampaignName }; list.Add(campaign); } @@ -347,6 +357,11 @@ namespace SiNan.Business var adGroupIdList = adGroupStatisticsList.Select(x => x.Key).ToList(); var allAdGroupList = new List(); + var allAdGroupNameList = fsql.Select() + .Where(x => x.ShopId == request.ShopId && adGroupIdList.Contains(x.AdGroupId)) + .GroupBy(x => new { x.AdGroupId, x.AdGroupName }) + .ToList(g => new { g.Value.AdGroupId, g.Value.AdGroupName }); + foreach (var adGroupStatistics in adGroupStatisticsList) { var adGroupId = adGroupStatistics.Key; @@ -354,7 +369,7 @@ namespace SiNan.Business var adGroup = new Product360PopularizeAnalysisAdGroupResponse() { AdGroupId = adGroupId.Value, - AdGroupName = string.Empty, + AdGroupName = allAdGroupNameList.FirstOrDefault(x => x.AdGroupId == adGroupId)?.AdGroupName, BusinessType = 2, CampaignId = adGroupStatistics.FirstOrDefault()?.CampaignId ?? 0, Clicks = adGroupStatistics.Sum(x => x.Clicks), @@ -383,6 +398,7 @@ namespace SiNan.Business var jstCampaign = new Product360PopularizeAnalysisCampaginRepsonse() { CampaignId = campaignId.Value, + CampaignName = allCampaignNameList.FirstOrDefault(x => x.CampaignId == campaignId)?.CampaignName, BusinessType = 134217728, CampaignGOI_Recent7Day = recent7DayCampaignGOIList.FirstOrDefault(x => x.LevelId == campaignId), CampaignGOI_Recent30Day = recent30DayCampaignGOIList.FirstOrDefault(x => x.LevelId == campaignId),