From 742522d0e90170402c2185e9ef4a8f72ae116e3e Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sat, 26 Nov 2022 02:13:55 +0800 Subject: [PATCH] 1 --- .../JDReportFormStatisticsBusiness.cs | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs b/BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs index e274dee8..0a85e6fe 100644 --- a/BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs @@ -548,16 +548,16 @@ namespace BBWY.Server.Business.Statistics var currentLevelIdSkuIds = campaignList.Where(campaign => campaign.CampaignId == levelId).Select(campaign => campaign.Sku).Distinct().ToList(); - goiResponse._7GOI.Cost = _7dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse._7GOI.Profit = _7dProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse._7GOI.Cost = _7dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse._7GOI.Profit = _7dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse._30GOI.Cost = _30dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse._30GOI.Profit = _30dProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse._30GOI.Cost = _30dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse._30GOI.Profit = _30dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse.CustomDaysGOI.Cost = _customCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse.CustomDaysGOI.Profit = _customProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse.CustomDaysGOI.Cost = _customCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse.CustomDaysGOI.Profit = _customProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse.TotalCost = _totalCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); list.Add(goiResponse); } return list; @@ -663,16 +663,16 @@ namespace BBWY.Server.Business.Statistics var currentLevelIdSkuIds = adGroupList.Where(adGroup => adGroup.AdGroupId == levelId).Select(adGroup => adGroup.Sku).Distinct().ToList(); - goiResponse._7GOI.Cost = _7dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse._7GOI.Profit = _7dProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse._7GOI.Cost = _7dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse._7GOI.Profit = _7dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse._30GOI.Cost = _30dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse._30GOI.Profit = _30dProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse._30GOI.Cost = _30dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse._30GOI.Profit = _30dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse.CustomDaysGOI.Cost = _customCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse.CustomDaysGOI.Profit = _customProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse.CustomDaysGOI.Cost = _customCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse.CustomDaysGOI.Profit = _customProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse.TotalCost = _totalCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); list.Add(goiResponse); } return list; @@ -778,16 +778,16 @@ namespace BBWY.Server.Business.Statistics var currentLevelIdSkuIds = adList.Where(ad => ad.AdId == levelId).Select(ad => ad.Sku).Distinct().ToList(); - goiResponse._7GOI.Cost = _7dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse._7GOI.Profit = _7dProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse._7GOI.Cost = _7dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse._7GOI.Profit = _7dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse._30GOI.Cost = _30dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse._30GOI.Profit = _30dProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse._30GOI.Cost = _30dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse._30GOI.Profit = _30dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse.CustomDaysGOI.Cost = _customCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; - goiResponse.CustomDaysGOI.Profit = _customProfits.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Profit ?? 0M; + goiResponse.CustomDaysGOI.Cost = _customCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); + goiResponse.CustomDaysGOI.Profit = _customProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit); - goiResponse.TotalCost = _totalCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); list.Add(goiResponse); } return list; @@ -1007,16 +1007,16 @@ namespace BBWY.Server.Business.Statistics var currentLevelIdSkuIds = campaignList.Where(campaign => campaign.CampaignId == levelId).Select(campaign => campaign.Sku).Distinct().ToList(); - goiResponse._7GOI.Cost = _7dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse._7GOI.Cost = _7dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse._7GOI.Profit = _7dProfits.FirstOrDefault(x => x.CampaignId == levelId)?.Profit ?? 0M; - goiResponse._30GOI.Cost = _30dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse._30GOI.Cost = _30dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse._30GOI.Profit = _30dProfits.FirstOrDefault(x => x.CampaignId == levelId)?.Profit ?? 0M; - goiResponse.CustomDaysGOI.Cost = _customCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.CustomDaysGOI.Cost = _customCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse.CustomDaysGOI.Profit = _customProfits.FirstOrDefault(x => x.CampaignId == levelId)?.Profit ?? 0M; - goiResponse.TotalCost = _totalCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); list.Add(goiResponse); } return list; @@ -1125,16 +1125,16 @@ namespace BBWY.Server.Business.Statistics var currentLevelIdSkuIds = adGroupList.Where(adGroup => adGroup.AdGroupId == levelId).Select(adGroup => adGroup.Sku).Distinct().ToList(); - goiResponse._7GOI.Cost = _7dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse._7GOI.Cost = _7dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse._7GOI.Profit = _7dProfits.FirstOrDefault(x => x.AdGroupId == levelId)?.Profit ?? 0M; - goiResponse._30GOI.Cost = _30dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse._30GOI.Cost = _30dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse._30GOI.Profit = _30dProfits.FirstOrDefault(x => x.AdGroupId == levelId)?.Profit ?? 0M; - goiResponse.CustomDaysGOI.Cost = _customCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.CustomDaysGOI.Cost = _customCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse.CustomDaysGOI.Profit = _customProfits.FirstOrDefault(x => x.AdGroupId == levelId)?.Profit ?? 0M; - goiResponse.TotalCost = _totalCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); list.Add(goiResponse); } return list; @@ -1243,16 +1243,16 @@ namespace BBWY.Server.Business.Statistics var currentLevelIdSkuIds = adList.Where(ad => ad.AdId == levelId).Select(ad => ad.Sku).Distinct().ToList(); - goiResponse._7GOI.Cost = _7dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse._7GOI.Cost = _7dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse._7GOI.Profit = _7dProfits.FirstOrDefault(x => x.AdId == levelId)?.Profit ?? 0M; - goiResponse._30GOI.Cost = _30dCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse._30GOI.Cost = _30dCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse._30GOI.Profit = _30dProfits.FirstOrDefault(x => x.AdId == levelId)?.Profit ?? 0M; - goiResponse.CustomDaysGOI.Cost = _customCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.CustomDaysGOI.Cost = _customCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); goiResponse.CustomDaysGOI.Profit = _customProfits.FirstOrDefault(x => x.AdId == levelId)?.Profit ?? 0M; - goiResponse.TotalCost = _totalCosts.FirstOrDefault(x => currentLevelIdSkuIds.Contains(x.Sku))?.Cost ?? 0M; + goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost); list.Add(goiResponse); } return list;