shanji 3 years ago
parent
commit
29cbf14693
  1. 43
      BBWY.Server.Business/Statistics/StatisticsBusiness.cs
  2. 5
      BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs

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

@ -29,28 +29,51 @@ namespace BBWY.Server.Business
.Where((o, oc) => o.ShopId == request.ShopId && .Where((o, oc) => o.ShopId == request.ShopId &&
o.OrderState != null && o.OrderState != null &&
!invalidOrderStateList.Contains(o.OrderState.Value) && //排除待付款和取消 !invalidOrderStateList.Contains(o.OrderState.Value) && //排除待付款和取消
o.StorageType != Enums.StorageType.SD &&
o.StartTime >= request.StartTime && o.StartTime >= request.StartTime &&
o.StartTime <= request.EndTime) o.StartTime <= request.EndTime)
.ToAggregate((o, oc) => new OrderAchievementResponse() .ToAggregate((o, oc) => new OrderAchievementResponse()
{ {
OrderCount = o.Count(), OrderCount = o.Count(),
Profit = oc.Sum(oc.Key.Profit), //Profit = oc.Sum(oc.Key.Profit),
SaleAmount = o.Sum(o.Key.OrderPayment), SaleAmount = o.Sum(o.Key.OrderPayment),
DeliveryExpressFreight = oc.Sum(oc.Key.DeliveryExpressFreight), DeliveryExpressFreight = oc.Sum(oc.Key.DeliveryExpressFreight),
PlatformCommissionAmount = oc.Sum(oc.Key.PlatformCommissionAmount), PlatformCommissionAmount = oc.Sum(oc.Key.PlatformCommissionAmount),
PurchaseAmount = oc.Sum(oc.Key.PurchaseAmount) PurchaseAmount = oc.Sum(oc.Key.PurchaseAmount)
}); });
var shopId = request.ShopId.ToString();
var mdsShop = freeSqlMultiDBManager.MDSfsql.Select<Shops>().Where(s => s.ShopId == shopId).ToOne(); var shopPopularizeList = fsql.Select<Shoppopularize>().Where(s => s.ShopId == request.ShopId &&
if (mdsShop != null) s.Date >= request.StartTime &&
s.Date <= request.EndTime).ToList();
//最后一次推广花费时间
var pularizeEndDate = shopPopularizeList.Count > 0 ? shopPopularizeList.Max(s => s.Date) : null;
var pularizeEndTime = pularizeEndDate?.AddDays(1).AddSeconds(-1);
if (pularizeEndTime != null)
{ {
var advCost = freeSqlMultiDBManager.JDXXfsql.Select<Shopsdetail>().Where(s => s.ShopsId == mdsShop.Id && var profit = fsql.Select<Order, OrderCost>().LeftJoin((o, oc) => o.Id == oc.OrderId)
s.CreateTime >= request.StartTime && .Where((o, oc) => o.ShopId == request.ShopId &&
s.CreateTime <= request.EndTime) o.OrderState != null &&
.ToAggregate(s => s.Sum(s.Key.ExpressCost + s.Key.ShotgunCost)); !invalidOrderStateList.Contains(o.OrderState.Value) && //排除待付款和取消
response.AdvCost = advCost; o.StorageType != Enums.StorageType.SD &&
response.Profit -= advCost; o.StartTime >= request.StartTime &&
o.StartTime <= pularizeEndTime).Sum((o, oc) => oc.Profit);
response.Profit = profit;
} }
//var shopId = request.ShopId.ToString();
//var mdsShop = freeSqlMultiDBManager.MDSfsql.Select<Shops>().Where(s => s.ShopId == shopId).ToOne();
//if (mdsShop != null)
//{
// var advCost = freeSqlMultiDBManager.JDXXfsql.Select<Shopsdetail>().Where(s => s.ShopsId == mdsShop.Id &&
// s.CreateTime >= request.StartTime &&
// s.CreateTime <= request.EndTime)
// .ToAggregate(s => s.Sum(s.Key.ExpressCost + s.Key.ShotgunCost));
// response.AdvCost = advCost;
// response.Profit -= advCost;
//}
response.ShopId = request.ShopId; response.ShopId = request.ShopId;
return response; return response;
} }

5
BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs

@ -62,5 +62,10 @@ namespace BBWY.Server.Model.Dto
/// 广告投入 /// 广告投入
/// </summary> /// </summary>
public decimal AdvCost { get; set; } public decimal AdvCost { get; set; }
/// <summary>
/// 推广花费截至时间
/// </summary>
public DateTime? PularizeEndTime { get; set; }
} }
} }

Loading…
Cancel
Save