|
|
@ -857,46 +857,46 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
List<string> purchaserIdList = purchaseSchemeProductList.Select(x => x.PurchaserId).Distinct().ToList(); |
|
|
|
var dbPurchaserList = fsql.Select<Purchaser>(purchaserIdList).ToList<PurchaserResponse>(); |
|
|
|
if (request.IncludePurchaserStatisticsInfo == 1) |
|
|
|
{ |
|
|
|
#region 查询SKU采购数
|
|
|
|
var purchasedSkuList = fsql.Select<SkuHistoryPurchaserRelation, ProductSku>() |
|
|
|
.InnerJoin((spr, ps) => spr.SkuId == ps.Id) |
|
|
|
.Where((spr, ps) => ps.ShopId == request.ShopId && purchaserIdList.Contains(spr.PurchaserId)) |
|
|
|
.GroupBy((spr, ps) => new { spr.PurchaserId, spr.SkuId }) |
|
|
|
.ToList(g => new |
|
|
|
{ |
|
|
|
g.Key.PurchaserId, |
|
|
|
g.Key.SkuId |
|
|
|
}); |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询订单数
|
|
|
|
var poList = fsql.Select<OrderPurchaseInfo, Order>() |
|
|
|
.InnerJoin((opi, o) => opi.OrderId == o.Id) |
|
|
|
.Where((opi, o) => opi.ShopId == request.ShopId && |
|
|
|
opi.IsEnabled == true && |
|
|
|
o.OrderState != Enums.OrderState.已取消 && |
|
|
|
purchaserIdList.Contains(opi.PurchaserId)) |
|
|
|
.GroupBy((opi, o) => opi.PurchaserId) |
|
|
|
.ToList(g => new |
|
|
|
{ |
|
|
|
PurchaserId = g.Key, |
|
|
|
Count = g.Count() |
|
|
|
}); |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
foreach (var purchaser in dbPurchaserList) |
|
|
|
{ |
|
|
|
purchaser.PurchasedSkuCount = purchasedSkuList.Where(x => x.PurchaserId == purchaser.Id) |
|
|
|
.Select(x => x.SkuId) |
|
|
|
.Distinct() |
|
|
|
.Count(); |
|
|
|
purchaser.PurchasedCount = poList.FirstOrDefault(x => x.PurchaserId == purchaser.Id)?.Count ?? 0; |
|
|
|
} |
|
|
|
} |
|
|
|
//if (request.IncludePurchaserStatisticsInfo == 1)
|
|
|
|
//{
|
|
|
|
// #region 查询SKU采购数
|
|
|
|
// var purchasedSkuList = fsql.Select<SkuHistoryPurchaserRelation, ProductSku>()
|
|
|
|
// .InnerJoin((spr, ps) => spr.SkuId == ps.Id)
|
|
|
|
// .Where((spr, ps) => ps.ShopId == request.ShopId && purchaserIdList.Contains(spr.PurchaserId))
|
|
|
|
// .GroupBy((spr, ps) => new { spr.PurchaserId, spr.SkuId })
|
|
|
|
// .ToList(g => new
|
|
|
|
// {
|
|
|
|
// g.Key.PurchaserId,
|
|
|
|
// g.Key.SkuId
|
|
|
|
// });
|
|
|
|
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
// #region 查询订单数
|
|
|
|
// var poList = fsql.Select<OrderPurchaseInfo, Order>()
|
|
|
|
// .InnerJoin((opi, o) => opi.OrderId == o.Id)
|
|
|
|
// .Where((opi, o) => opi.ShopId == request.ShopId &&
|
|
|
|
// opi.IsEnabled == true &&
|
|
|
|
// o.OrderState != Enums.OrderState.已取消 &&
|
|
|
|
// purchaserIdList.Contains(opi.PurchaserId))
|
|
|
|
// .GroupBy((opi, o) => opi.PurchaserId)
|
|
|
|
// .ToList(g => new
|
|
|
|
// {
|
|
|
|
// PurchaserId = g.Key,
|
|
|
|
// Count = g.Count()
|
|
|
|
// });
|
|
|
|
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
// foreach (var purchaser in dbPurchaserList)
|
|
|
|
// {
|
|
|
|
// purchaser.PurchasedSkuCount = purchasedSkuList.Where(x => x.PurchaserId == purchaser.Id)
|
|
|
|
// .Select(x => x.SkuId)
|
|
|
|
// .Distinct()
|
|
|
|
// .Count();
|
|
|
|
// purchaser.PurchasedCount = poList.FirstOrDefault(x => x.PurchaserId == purchaser.Id)?.Count ?? 0;
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
foreach (var scheme in purchaseSchemeList) |
|
|
|
{ |
|
|
|