Browse Source

采购商聚合增加最后采购时间

liangku_skuoptimazation
shanji 1 year ago
parent
commit
8475ec10ad
  1. 29
      BBWYB.Server.Business/Aggregion/AggregionPurchaserBusiness.cs
  2. 2
      BBWYB.Server.Model/Db/Purchaser/Purchaser.cs
  3. 5
      BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserResponse.cs

29
BBWYB.Server.Business/Aggregion/AggregionPurchaserBusiness.cs

@ -140,19 +140,19 @@ namespace BBWYB.Server.Business
#region 查询最近90天采购金额
var recent90dPurchasedAmountList = fsql.Select<OrderCostDetail, Order, OrderPurchaseInfo>()
.InnerJoin((ocd, o, opi) => ocd.OrderId == o.Id)
.InnerJoin((ocd, o, opi) => o.Id == opi.OrderId)
.Where((ocd, o, opi) => o.OrderState != Enums.OrderState. &&
ocd.IsEnabled == true &&
opi.IsEnabled == true &&
opi.CreateTime >= recent90d &&
purchaserIdList.Contains(opi.PurchaserId))
.GroupBy((ocd, o, opi) => opi.PurchaserId)
.ToList(g => new
{
PurchaserId = g.Key,
PurchasedAmount = g.Sum(g.Value.Item1.SkuAmount + g.Value.Item1.PurchaseFreight)
});
.InnerJoin((ocd, o, opi) => ocd.OrderId == o.Id)
.InnerJoin((ocd, o, opi) => o.Id == opi.OrderId)
.Where((ocd, o, opi) => o.OrderState != Enums.OrderState. &&
ocd.IsEnabled == true &&
opi.IsEnabled == true &&
opi.CreateTime >= recent90d &&
purchaserIdList.Contains(opi.PurchaserId))
.GroupBy((ocd, o, opi) => opi.PurchaserId)
.ToList(g => new
{
PurchaserId = g.Key,
PurchasedAmount = g.Sum(g.Value.Item1.SkuAmount + g.Value.Item1.PurchaseFreight)
});
#endregion
foreach (var purchaserId in purchaserIdList)
@ -172,7 +172,7 @@ namespace BBWYB.Server.Business
#region 订单数/最近采购时间
var purchasedCountAndTime = poList.FirstOrDefault(x => x.PurchaserId == purchaserId);
var purchasedCount = purchasedCountAndTime?.Count ?? 0;
var lastPurchaseTime = purchasedCountAndTime?.MaxPurchaseTime;
var lastPurchasedTime = purchasedCountAndTime?.MaxPurchaseTime;
#endregion
#region 采购金额
@ -194,6 +194,7 @@ namespace BBWYB.Server.Business
.Set(p => p.PurchasedSkuCount, purchasedSkuCount)
.Set(p => p.PurchasedCount, purchasedCount)
.Set(p => p.PurchasedAmount, purchasedAmount)
.Set(p => p.LastPurchasedTime, lastPurchasedTime)
.Set(p => p.Recent90dPurchasedAmount, recent90dPurchasedAmount)
.Set(p => p.Recent90dPurchasedCount, recent90dPurchasedCount);
updatePurchaserList.Add(update);

2
BBWYB.Server.Model/Db/Purchaser/Purchaser.cs

@ -95,7 +95,7 @@ namespace BBWYB.Server.Model.Db
/// 上次采购时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? LastPurchaseTime { get; set; }
public DateTime? LastPurchasedTime { get; set; }
/// <summary>
/// 最近90天采购金额

5
BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserResponse.cs

@ -25,6 +25,11 @@ namespace BBWYB.Server.Model.Dto
/// </summary>
public decimal? PurchaseAmount { get { return PurchasedAmount; } }
/// <summary>
/// 最近采购时间容错字段
/// </summary>
public DateTime? LastPurchaseTime { get { return LastPurchasedTime; } }
public PurchaserResponse()
{
CategoryList = new List<PurchaserExtendedInfoResponse>();

Loading…
Cancel
Save