shanji 3 years ago
parent
commit
755012cd2a
  1. 14
      BBWY.Client/APIServices/StatisticsService.cs
  2. 12
      BBWY.Client/Models/APIModel/Response/Statistics/SkuRecentSaleResponse.cs
  3. 11
      BBWY.Server.API/Controllers/StatisticsController.cs
  4. 22
      BBWY.Server.Business/Statistics/StatisticsBusiness.cs
  5. 13
      BBWY.Server.Model/Dto/Request/Statistics/SkuRecentSalesRequest.cs
  6. 16
      BBWY.Server.Model/Dto/Response/Statistics/SkuRecentSaleResponse.cs

14
BBWY.Client/APIServices/StatisticsService.cs

@ -2,6 +2,7 @@
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
namespace BBWY.Client.APIServices
@ -42,5 +43,18 @@ namespace BBWY.Client.APIServices
{
return SendRequest<SDGroupPersonStatisticsResponse>(globalContext.BBYWApiHost, "/Api/Statistics/GetSDGroupPersonStatistics", $"sdOperator={sdOperator}&startDate={startDate}&endDate={endDate}", null, HttpMethod.Get);
}
/// <summary>
/// 获取Sku近30天件数销量
/// </summary>
/// <param name="skuIds"></param>
/// <returns></returns>
public ApiResponse<IList<SkuRecentSaleResponse>> GetSkuRecentSales(List<string> skuIds)
{
return SendRequest<IList<SkuRecentSaleResponse>>(globalContext.BBYWApiHost, "/Api/Statistics/GetSkuRecentSales", new
{
skuIds
}, null, HttpMethod.Post);
}
}
}

12
BBWY.Client/Models/APIModel/Response/Statistics/SkuRecentSaleResponse.cs

@ -0,0 +1,12 @@
namespace BBWY.Client.Models
{
public class SkuRecentSaleResponse
{
public string SkuId { get; set; }
/// <summary>
/// 销量
/// </summary>
public decimal SaleCount { get; set; }
}
}

11
BBWY.Server.API/Controllers/StatisticsController.cs

@ -75,5 +75,16 @@ namespace BBWY.Server.API.Controllers
{
return statisticsBusiness.GetSDGroupPersonStatistics(sdOperator, startDate, endDate);
}
/// <summary>
/// 查询Sku最近30天的件数销量
/// </summary>
/// <param name="skuRecentSalesRequest"></param>
/// <returns></returns>
[HttpPost]
public IList<SkuRecentSaleResponse> GetSkuRecentSales(SkuRecentSalesRequest skuRecentSalesRequest)
{
return statisticsBusiness.GetSkuRecentSales(skuRecentSalesRequest);
}
}
}

22
BBWY.Server.Business/Statistics/StatisticsBusiness.cs

@ -326,5 +326,27 @@ namespace BBWY.Server.Business
OrderPayment = g.Sum(g.Key.OrderPayment)
});
}
/// <summary>
/// 查询sku最近销量
/// </summary>
/// <param name="skuRecentSalesRequest"></param>
/// <returns></returns>
public IList<SkuRecentSaleResponse> GetSkuRecentSales(SkuRecentSalesRequest skuRecentSalesRequest)
{
var endTime = DateTime.Now;
var startDate = DateTime.Now.Date.AddMonths(-1);
var list = fsql.Select<OrderSku>().WhereIf(skuRecentSalesRequest.SkuIds.Count() == 1, osku => osku.SkuId == skuRecentSalesRequest.SkuIds[0])
.WhereIf(skuRecentSalesRequest.SkuIds.Count() > 1, osku => skuRecentSalesRequest.SkuIds.Contains(osku.SkuId))
.Where(osku => osku.CreateTime >= startDate && osku.CreateTime <= endTime)
.GroupBy(osku => osku.SkuId)
.ToList(g => new SkuRecentSaleResponse()
{
SkuId = g.Key,
SaleCount = g.Sum(g.Value.ItemTotal.Value)
});
return list;
}
}
}

13
BBWY.Server.Model/Dto/Request/Statistics/SkuRecentSalesRequest.cs

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Model.Dto
{
public class SkuRecentSalesRequest
{
public long ShopId { get; set; }
public IList<string> SkuIds { get; set; }
}
}

16
BBWY.Server.Model/Dto/Response/Statistics/SkuRecentSaleResponse.cs

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Model.Dto
{
public class SkuRecentSaleResponse
{
public string SkuId { get; set; }
/// <summary>
/// 销量
/// </summary>
public decimal SaleCount { get; set; }
}
}
Loading…
Cancel
Save