shanji 3 years ago
parent
commit
1273d4374c
  1. 191
      BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs

191
BBWY.Server.Business/Statistics/JDReportFormStatisticsBusiness.cs

@ -931,17 +931,16 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _7dProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.CampaignId.Value) &&
jr.CookieTime >= _7dStartDate && jr.CookieTime <= _7dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.CampaignId)
var _7dProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= _7dStartDate && jr.CookieTime <= _7dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
CampaignId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _30dCosts = fsql.Select<JDPopularizeAdSku>()
@ -953,17 +952,16 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _30dProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.CampaignId.Value) &&
jr.CookieTime >= _30dStartDate && jr.CookieTime <= _30dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.CampaignId)
var _30dProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= _30dStartDate && jr.CookieTime <= _30dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
CampaignId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _customCosts = fsql.Select<JDPopularizeAdSku>()
@ -975,17 +973,16 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _customProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.CampaignId.Value) &&
jr.CookieTime >= gOIRequest.StartDate && jr.CookieTime <= customEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.CampaignId)
var _customProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= gOIRequest.StartDate && jr.CookieTime <= customEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
CampaignId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _totalCosts = fsql.Select<JDPopularizeAdSku>()
@ -1008,13 +1005,13 @@ namespace BBWY.Server.Business.Statistics
var currentLevelIdSkuIds = campaignList.Where(campaign => campaign.CampaignId == levelId).Select(campaign => campaign.Sku).Distinct().ToList();
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._7GOI.Profit = _7dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
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._30GOI.Profit = _30dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
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.CustomDaysGOI.Profit = _customProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost);
list.Add(goiResponse);
@ -1049,17 +1046,16 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _7dProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.AdGroupId.Value) &&
jr.CookieTime >= _7dStartDate && jr.CookieTime <= _7dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.AdGroupId)
var _7dProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= _7dStartDate && jr.CookieTime <= _7dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
AdGroupId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _30dCosts = fsql.Select<JDPopularizeAdSku>()
@ -1071,17 +1067,16 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _30dProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.AdGroupId.Value) &&
var _30dProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= _30dStartDate && jr.CookieTime <= _30dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.AdGroupId)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
AdGroupId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _customCosts = fsql.Select<JDPopularizeAdSku>()
@ -1093,17 +1088,16 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _customProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.AdGroupId.Value) &&
var _customProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= gOIRequest.StartDate && jr.CookieTime <= customEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.AdGroupId)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
AdGroupId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _totalCosts = fsql.Select<JDPopularizeAdSku>()
@ -1126,13 +1120,13 @@ namespace BBWY.Server.Business.Statistics
var currentLevelIdSkuIds = adGroupList.Where(adGroup => adGroup.AdGroupId == levelId).Select(adGroup => adGroup.Sku).Distinct().ToList();
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._7GOI.Profit = _7dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
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._30GOI.Profit = _30dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
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.CustomDaysGOI.Profit = _customProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost);
list.Add(goiResponse);
@ -1167,61 +1161,58 @@ namespace BBWY.Server.Business.Statistics
Sku = g.Key
});
var _7dProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.AdId.Value) &&
jr.CookieTime >= _7dStartDate && jr.CookieTime <= _7dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.AdId)
var _7dProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= _7dStartDate && jr.CookieTime <= _7dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
AdId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _30dCosts = fsql.Select<JDPopularizeAdSku>()
.Where(jas => skuIds.Contains(jas.Sku) && jas.Date >= _30dStartDate && jas.Date <= _30dEndDate)
.GroupBy(jas => jas.Sku)
.ToList(g => new
{
Cost = g.Sum(g.Value.Cost),
Sku = g.Key
});
.Where(jas => skuIds.Contains(jas.Sku) && jas.Date >= _30dStartDate && jas.Date <= _30dEndDate)
.GroupBy(jas => jas.Sku)
.ToList(g => new
{
Cost = g.Sum(g.Value.Cost),
Sku = g.Key
});
var _30dProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.AdId.Value) &&
jr.CookieTime >= _30dStartDate && jr.CookieTime <= _30dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.AdId)
var _30dProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= _30dStartDate && jr.CookieTime <= _30dEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
AdId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _customCosts = fsql.Select<JDPopularizeAdSku>()
.Where(jas => skuIds.Contains(jas.Sku) && jas.Date >= gOIRequest.StartDate && jas.Date <= gOIRequest.EndDate)
.GroupBy(jas => jas.Sku)
.ToList(g => new
{
Cost = g.Sum(g.Value.Cost),
Sku = g.Key
});
.Where(jas => skuIds.Contains(jas.Sku) && jas.Date >= gOIRequest.StartDate && jas.Date <= gOIRequest.EndDate)
.GroupBy(jas => jas.Sku)
.ToList(g => new
{
Cost = g.Sum(g.Value.Cost),
Sku = g.Key
});
var _customProfits = fsql.Select<JDPopularizeAdSku, JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jad, jr, ocd) => jad.Sku == jr.PopularizeSku)
.InnerJoin((jad, jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jad, jr, ocd) => gOIRequest.LevelIdList.Contains(jad.AdId.Value) &&
jr.CookieTime >= gOIRequest.StartDate && jr.CookieTime <= customEndTime &&
ocd.IsEnabled == true)
.GroupBy((jad, jr, ocd) => jad.AdId)
var _customProfits = fsql.Select<JDOrderPopularizeRelation, OrderCostDetail>()
.InnerJoin((jr, ocd) => jr.OrderId == ocd.OrderId)
.Where((jr, ocd) => skuIds.Contains(jr.PopularizeSku) &&
jr.CookieTime >= gOIRequest.StartDate && jr.CookieTime <= customEndTime &&
ocd.IsEnabled == true)
.GroupBy((jr, ocd) => jr.PopularizeSku)
.ToList(g => new
{
Profit = g.Sum(g.Value.Item3.SkuGrossProfit),
AdId = g.Key
Profit = g.Sum(g.Value.Item2.SkuGrossProfit),
Sku = g.Key
});
var _totalCosts = fsql.Select<JDPopularizeAdSku>()
@ -1244,13 +1235,13 @@ namespace BBWY.Server.Business.Statistics
var currentLevelIdSkuIds = adList.Where(ad => ad.AdId == levelId).Select(ad => ad.Sku).Distinct().ToList();
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._7GOI.Profit = _7dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
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._30GOI.Profit = _30dProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
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.CustomDaysGOI.Profit = _customProfits.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Profit);
goiResponse.TotalCost = _totalCosts.Where(x => currentLevelIdSkuIds.Contains(x.Sku)).Sum(x => x.Cost);
list.Add(goiResponse);

Loading…
Cancel
Save