|
|
@ -6,11 +6,9 @@ using BBWY.Server.Model.Db; |
|
|
|
using BBWY.Server.Model.Db.Mds; |
|
|
|
using BBWY.Server.Model.Dto; |
|
|
|
using Newtonsoft.Json; |
|
|
|
using Org.BouncyCastle.Ocsp; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Runtime.InteropServices.ComTypes; |
|
|
|
using Yitter.IdGenerator; |
|
|
|
|
|
|
|
namespace BBWY.Server.Business |
|
|
@ -200,12 +198,31 @@ namespace BBWY.Server.Business |
|
|
|
|
|
|
|
var orderIdList = orderList.Select(o => o.Id).ToList(); |
|
|
|
|
|
|
|
var orderSkuList = fsql.Select<OrderSku>().Where(osku => osku.Price != 0 && orderIdList.Contains(osku.OrderId)).ToList(); |
|
|
|
var orderSkuList = fsql.Select<Model.Db.OrderSku>().Where(osku => osku.Price != 0 && orderIdList.Contains(osku.OrderId)).ToList(); |
|
|
|
|
|
|
|
//查询成本明细
|
|
|
|
var orderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => orderIdList.Contains(ocd.OrderId) && ocd.IsEnabled == true).ToList(); |
|
|
|
|
|
|
|
//来自订单的spu
|
|
|
|
var spuIdList = orderSkuList.Select(osku => osku.ProductId).Distinct().ToList(); |
|
|
|
|
|
|
|
List<string> noOrderSpuIdList = null; |
|
|
|
//来自推广的spu
|
|
|
|
{ |
|
|
|
var skuIdList = fsql.Select<JDPopularizeAdSku>() |
|
|
|
.Where(jas => jas.Date == xingXiangSearchOrderRequest.SearchDate && |
|
|
|
jas.ShopId == xingXiangSearchOrderRequest.ShopId) |
|
|
|
.Distinct().ToList(jas => jas.Sku); |
|
|
|
if (skuIdList.Count() > 0) |
|
|
|
{ |
|
|
|
var productIdFromPopularizeList = fsql.Select<ProductSku>(skuIdList).Distinct().ToList(ps => ps.ProductId); |
|
|
|
noOrderSpuIdList = productIdFromPopularizeList.Except(spuIdList).ToList(); |
|
|
|
if (noOrderSpuIdList.Count() > 0) |
|
|
|
spuIdList.AddRange(noOrderSpuIdList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<GOIBySpu> spuGoiList = null; |
|
|
|
GOIByShop shopGoi = null; |
|
|
|
|
|
|
@ -242,6 +259,7 @@ namespace BBWY.Server.Business |
|
|
|
|
|
|
|
|
|
|
|
detailList = new List<XingXiangItemResponse>(); |
|
|
|
|
|
|
|
foreach (var order in orderList) |
|
|
|
{ |
|
|
|
var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == order.Id).ToList(); |
|
|
@ -285,7 +303,27 @@ namespace BBWY.Server.Business |
|
|
|
} |
|
|
|
|
|
|
|
//var shopProductAmount = orderSkuList.Sum(osku => osku.ItemTotal * osku.Price);
|
|
|
|
var shopActualAmount = orderSkuList.Sum(osku => osku.ShouldPay ?? 0M); |
|
|
|
var shopActualAmount = orderSkuList.Sum(osku => |
|
|
|
{ |
|
|
|
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M); |
|
|
|
return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M; |
|
|
|
}); |
|
|
|
|
|
|
|
if (noOrderSpuIdList != null && noOrderSpuIdList.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var spuId in noOrderSpuIdList) |
|
|
|
{ |
|
|
|
//var spuGoi = spuGoiList?.FirstOrDefault(x => x.Spu == spuId);
|
|
|
|
var xxRespose = new XingXiangItemResponse() |
|
|
|
{ |
|
|
|
Spu = spuId, |
|
|
|
Profit = 0M, |
|
|
|
ActualAmount = 0M, |
|
|
|
SpuYingLiRatio = 0M |
|
|
|
}; |
|
|
|
detailList.Add(xxRespose); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
foreach (var d in detailList) |
|
|
|
{ |
|
|
@ -401,7 +439,7 @@ namespace BBWY.Server.Business |
|
|
|
var endTime = DateTime.Now; |
|
|
|
var startDate = DateTime.Now.Date.AddMonths(-1); |
|
|
|
|
|
|
|
var list = fsql.Select<OrderSku>().WhereIf(skuRecentSalesRequest.SkuIds.Count() == 1, osku => osku.SkuId == skuRecentSalesRequest.SkuIds[0]) |
|
|
|
var list = fsql.Select<Model.Db.OrderSku>().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) |
|
|
|