diff --git a/BBWY.Client/APIServices/StatisticsService.cs b/BBWY.Client/APIServices/StatisticsService.cs index 2b1e318d..af34359e 100644 --- a/BBWY.Client/APIServices/StatisticsService.cs +++ b/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(globalContext.BBYWApiHost, "/Api/Statistics/GetSDGroupPersonStatistics", $"sdOperator={sdOperator}&startDate={startDate}&endDate={endDate}", null, HttpMethod.Get); } + + /// + /// 获取Sku近30天件数销量 + /// + /// + /// + public ApiResponse> GetSkuRecentSales(List skuIds) + { + return SendRequest>(globalContext.BBYWApiHost, "/Api/Statistics/GetSkuRecentSales", new + { + skuIds + }, null, HttpMethod.Post); + } } } diff --git a/BBWY.Client/Models/APIModel/Response/Statistics/SkuRecentSaleResponse.cs b/BBWY.Client/Models/APIModel/Response/Statistics/SkuRecentSaleResponse.cs new file mode 100644 index 00000000..bd4b2fb5 --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/Statistics/SkuRecentSaleResponse.cs @@ -0,0 +1,12 @@ +namespace BBWY.Client.Models +{ + public class SkuRecentSaleResponse + { + public string SkuId { get; set; } + + /// + /// 销量 + /// + public decimal SaleCount { get; set; } + } +} diff --git a/BBWY.Server.API/Controllers/StatisticsController.cs b/BBWY.Server.API/Controllers/StatisticsController.cs index 5269ae42..545e4144 100644 --- a/BBWY.Server.API/Controllers/StatisticsController.cs +++ b/BBWY.Server.API/Controllers/StatisticsController.cs @@ -75,5 +75,16 @@ namespace BBWY.Server.API.Controllers { return statisticsBusiness.GetSDGroupPersonStatistics(sdOperator, startDate, endDate); } + + /// + /// 查询Sku最近30天的件数销量 + /// + /// + /// + [HttpPost] + public IList GetSkuRecentSales(SkuRecentSalesRequest skuRecentSalesRequest) + { + return statisticsBusiness.GetSkuRecentSales(skuRecentSalesRequest); + } } } diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index 607f027f..c385d042 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -326,5 +326,27 @@ namespace BBWY.Server.Business OrderPayment = g.Sum(g.Key.OrderPayment) }); } + + /// + /// 查询sku最近销量 + /// + /// + /// + public IList GetSkuRecentSales(SkuRecentSalesRequest skuRecentSalesRequest) + { + var endTime = DateTime.Now; + var startDate = DateTime.Now.Date.AddMonths(-1); + + var list = fsql.Select().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; + } } } diff --git a/BBWY.Server.Model/Dto/Request/Statistics/SkuRecentSalesRequest.cs b/BBWY.Server.Model/Dto/Request/Statistics/SkuRecentSalesRequest.cs new file mode 100644 index 00000000..7733d50c --- /dev/null +++ b/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 SkuIds { get; set; } + } +} diff --git a/BBWY.Server.Model/Dto/Response/Statistics/SkuRecentSaleResponse.cs b/BBWY.Server.Model/Dto/Response/Statistics/SkuRecentSaleResponse.cs new file mode 100644 index 00000000..3786fe0e --- /dev/null +++ b/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; } + + /// + /// 销量 + /// + public decimal SaleCount { get; set; } + } +}