Browse Source

增加花费曲线

GOIAggregation
sanji 2 years ago
parent
commit
6b67b7f050
  1. 23
      SiNan.API/Controllers/GOIController.cs
  2. 38
      SiNan.Business/GOIBusiness.cs
  3. 19
      SiNan.Model/Dto/Request/Statistics/PopularizeCostCurveStatisticsBySkuRequest.cs
  4. 19
      SiNan.Model/Dto/Request/Statistics/PopularizeCostCurveStatisticsBySpuRequest.cs
  5. 9
      SiNan.Model/Dto/Response/Statistics/PopularizeCostCurveStatisticsResponse.cs

23
SiNan.API/Controllers/GOIController.cs

@ -36,6 +36,28 @@ namespace SiNan.API.Controllers
return goiBusiness.QueryProductSkuGOI(request);
}
/// <summary>
/// 产品维度分析-SPU花费曲线接口
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public List<PopularizeCostCurveStatisticsResponse> PopularizeCostCurveStatisticsBySpu([FromBody] PopularizeCostCurveStatisticsBySpuRequest request)
{
return goiBusiness.PopularizeCostCurveStatisticsBySpu(request);
}
/// <summary>
/// 产品维度分析-SKU花费曲线接口
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public List<PopularizeCostCurveStatisticsResponse> PopularizeCostCurveStatisticsBySku([FromBody] PopularizeCostCurveStatisticsBySkuRequest request)
{
return goiBusiness.PopularizeCostCurveStatisticsBySku(request);
}
/// <summary>
/// 产品360推广分析
/// </summary>
@ -69,6 +91,7 @@ namespace SiNan.API.Controllers
return goiBusiness.QueryProduct360TopStatistics(request);
}
/// <summary>
/// 根据spu查询推广维度GOI
/// </summary>

38
SiNan.Business/GOIBusiness.cs

@ -700,6 +700,44 @@ namespace SiNan.Business
};
}
public List<PopularizeCostCurveStatisticsResponse> PopularizeCostCurveStatisticsBySpu(PopularizeCostCurveStatisticsBySpuRequest request)
{
if (string.IsNullOrEmpty(request.Spu))
throw new BusinessException("缺少spu");
if (request.StartDate == null)
request.StartDate = DateTime.Now.Date.AddDays(-30);
if (request.EndDate == null)
request.EndDate = DateTime.Now.Date.AddDays(-1);
return fsql.Select<AggregationJDPopularizeSpuDaily>().Where(a => a.ShopId == request.ShopId &&
a.ProductId == request.Spu &&
a.Date >= request.StartDate &&
a.Date <= request.EndDate)
.ToList(a => new PopularizeCostCurveStatisticsResponse()
{
Cost = a.Cost,
Date = a.Date.Value
});
}
public List<PopularizeCostCurveStatisticsResponse> PopularizeCostCurveStatisticsBySku(PopularizeCostCurveStatisticsBySkuRequest request)
{
if (string.IsNullOrEmpty(request.Sku))
throw new BusinessException("缺少sku");
if (request.StartDate == null)
request.StartDate = DateTime.Now.Date.AddDays(-30);
if (request.EndDate == null)
request.EndDate = DateTime.Now.Date.AddDays(-1);
return fsql.Select<AggregationJDPopularizeSkuDaily>().Where(a => a.ShopId == request.ShopId &&
a.ProductId == request.Sku &&
a.Date >= request.StartDate &&
a.Date <= request.EndDate)
.ToList(a => new PopularizeCostCurveStatisticsResponse()
{
Cost = a.Cost,
Date = a.Date.Value
});
}
public ListResponse<GOIBySpu> QueryPopularizeLevelGOIBySpuId(QueryPopularizeLevelGOIBySpuIdRequest request)
{
var list = new List<GOIBySpu>();

19
SiNan.Model/Dto/Request/Statistics/PopularizeCostCurveStatisticsBySkuRequest.cs

@ -0,0 +1,19 @@
namespace SiNan.Model.Dto
{
public class PopularizeCostCurveStatisticsBySkuRequest
{
public long ShopId { get; set; }
public string Sku { get; set; }
/// <summary>
/// 曲线图起点时间,为空默认最近30天
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 曲线图结束时间,为空默认昨天
/// </summary>
public DateTime? EndDate { get; set; }
}
}

19
SiNan.Model/Dto/Request/Statistics/PopularizeCostCurveStatisticsBySpuRequest.cs

@ -0,0 +1,19 @@
namespace SiNan.Model.Dto
{
public class PopularizeCostCurveStatisticsBySpuRequest
{
public long ShopId { get; set; }
public string Spu { get; set; }
/// <summary>
/// 曲线图起点时间,为空默认最近30天
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 曲线图结束时间,为空默认昨天
/// </summary>
public DateTime? EndDate { get; set; }
}
}

9
SiNan.Model/Dto/Response/Statistics/PopularizeCostCurveStatisticsResponse.cs

@ -0,0 +1,9 @@
namespace SiNan.Model.Dto
{
public class PopularizeCostCurveStatisticsResponse
{
public decimal? Cost { get; set; }
public DateTime Date { get; set; }
}
}
Loading…
Cancel
Save