|
@ -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; |
|
|
} |
|
|
} |
|
|