From 8be89b5c60331836865afe8ed3133d9a8635b42b Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 27 Oct 2023 09:25:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81360=E6=8E=A8=E5=B9=BF?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SiNan.API/Controllers/GOIController.cs | 13 ++++- SiNan.Business/GOIBusiness.cs | 31 ++++++++++- .../Product360PopularizeAnalysisRequest.cs | 2 + ...uct360PopularizeAnalysisAdGroupResponse.cs | 49 +++++++++++++++++ ...ct360PopularizeAnalysisCampaginRepsonse.cs | 54 ++++++++++++++++++- 5 files changed, 145 insertions(+), 4 deletions(-) diff --git a/SiNan.API/Controllers/GOIController.cs b/SiNan.API/Controllers/GOIController.cs index 81726dd..84ef0c8 100644 --- a/SiNan.API/Controllers/GOIController.cs +++ b/SiNan.API/Controllers/GOIController.cs @@ -19,9 +19,20 @@ namespace SiNan.API.Controllers /// /// [HttpPost] - public ListResponse QueryProductGOI([FromBody]QueryProductGOIRequest request) + public ListResponse QueryProductGOI([FromBody] QueryProductGOIRequest request) { return goiBusiness.QueryProductGOI(request); } + + /// + /// 产品360推广分析 + /// + /// + /// + [HttpPost] + public ListResponse QueryProduct360PopularizeGOI(Product360PopularizeAnalysisRequest request) + { + return goiBusiness.QueryProduct360PopularizeGOI(request); + } } } diff --git a/SiNan.Business/GOIBusiness.cs b/SiNan.Business/GOIBusiness.cs index 8502d23..85d3213 100644 --- a/SiNan.Business/GOIBusiness.cs +++ b/SiNan.Business/GOIBusiness.cs @@ -244,6 +244,35 @@ namespace SiNan.Business }; } - + public ListResponse QueryProduct360PopularizeGOI(Product360PopularizeAnalysisRequest request) + { + if (request.SkuIdList == null || request.SkuIdList.Count() == 0) + throw new BusinessException("缺少sku"); + List list = new List(); + + var sourcePopularizeAdSkuList = fsql.Select() + .Where(x => x.ShopId == request.ShopId) + .Where(x => x.Date >= request.StartDate && x.Date <= request.EndDate) + .WhereIf(request.SkuIdList.Count() == 1, x => x.Sku == request.SkuIdList[0]) + .WhereIf(request.SkuIdList.Count() > 1, x => request.SkuIdList.Contains(x.Sku)) + .ToList(); + + var kuaicheCampaignList = sourcePopularizeAdSkuList.Where(x => x.BusinessType == 2).ToList(); + var jstCampaignList = sourcePopularizeAdSkuList.Where(x => x.BusinessType == 134217728).ToList(); + + #region 处理快车 + + #endregion + + #region 处理京速推 + + #endregion + + return new ListResponse() + { + ItemList = list, + Count = list.Count + }; + } } } diff --git a/SiNan.Model/Dto/Request/GOI/Product360PopularizeAnalysisRequest.cs b/SiNan.Model/Dto/Request/GOI/Product360PopularizeAnalysisRequest.cs index 6b58c3f..526938a 100644 --- a/SiNan.Model/Dto/Request/GOI/Product360PopularizeAnalysisRequest.cs +++ b/SiNan.Model/Dto/Request/GOI/Product360PopularizeAnalysisRequest.cs @@ -2,6 +2,8 @@ { public class Product360PopularizeAnalysisRequest { + public long ShopId { get; set; } + public IList SkuIdList { get; set; } public DateTime StartDate { get; set; } diff --git a/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisAdGroupResponse.cs b/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisAdGroupResponse.cs index 3c388ef..0f708e5 100644 --- a/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisAdGroupResponse.cs +++ b/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisAdGroupResponse.cs @@ -2,5 +2,54 @@ { public class Product360PopularizeAnalysisAdGroupResponse { + /// + /// 业务渠道 快车=2 智能推广= 134217728 + /// + public int BusinessType { get; set; } + + /// + /// 计划Id + /// + public long CampaignId { get; set; } + + /// + /// 单元Id + /// + public long AdGroupId { get; set; } + + /// + /// 单元名称 + /// + public string AdGroupName { get; set; } + + /// + /// 最近7天的计划GOI + /// + public GOIResponse AdGroupGOI_Recent7Day { get; set; } + + /// + /// 最近30天的计划GOI + /// + public GOIResponse AdGroupGOI_Recent30Day { get; set; } + + /// + /// 花费 + /// + public decimal Cost { get; set; } + + /// + /// 订单行 + /// + public int OrderCnt { get; set; } + + /// + /// 展现次数 + /// + public int Impressions { get; set; } + + /// + /// 点击次数 + /// + public int Clicks { get; set; } } } diff --git a/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisCampaginRepsonse.cs b/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisCampaginRepsonse.cs index 4f5aae4..771785b 100644 --- a/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisCampaginRepsonse.cs +++ b/SiNan.Model/Dto/Response/GOI/Product360PopularizeAnalysisCampaginRepsonse.cs @@ -3,8 +3,58 @@ public class Product360PopularizeAnalysisCampaginRepsonse { /// - /// 业务渠道 快车=2 智能推广=134217728 + /// 业务渠道 快车=2 智能推广= 134217728 /// - public int BusinessType { get; set; } + public int BusinessType { get; set; } + + /// + /// 计划Id + /// + public long CampaignId { get; set; } + + /// + /// 计划名称 + /// + public string CampaignName { get; set; } + + /// + /// 计划场景 + /// + public string CampaginScenarios { get; set; } + + /// + /// 最近7天的计划GOI + /// + public GOIResponse CampaignGOI_Recent7Day { get; set; } + + /// + /// 最近30天的计划GOI + /// + public GOIResponse CampaignGOI_Recent30Day { get; set; } + + /// + /// 花费 + /// + public decimal Cost { get; set; } + + /// + /// 订单行 + /// + public int OrderCnt { get; set; } + + /// + /// 展现次数 + /// + public int Impressions { get; set; } + + /// + /// 点击次数 + /// + public int Clicks { get; set; } + + /// + /// 单元列表 (仅BusinessType=2时具备该列表) + /// + public List AdGroupList { get; set; } } }