Browse Source

sku公式修改

AddValidOverTime
shanji 2 years ago
parent
commit
0360878b42
  1. 8
      BBWY.Server.Business/Extensions/OrderCostExtension.cs
  2. 8
      BBWY.Server.Business/Order/OrderBusiness.cs
  3. 2
      BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  4. 8
      BBWY.Server.Business/Statistics/StatisticsBusiness.cs
  5. 16
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  6. 14
      BBWY.Server.Business/TestBusiness.cs

8
BBWY.Server.Business/Extensions/OrderCostExtension.cs

@ -86,6 +86,8 @@ namespace BBWY.Server.Business.Extensions
/// <param name="xianPinLeiDongQuan"></param>
/// <param name="skuVenderFee"></param>
/// <param name="jingdou"></param>
/// <param name="dongquan"></param>
/// <param name="balance"></param>
/// <param name="platformCommissionRatio"></param>
public static void CalculationSkuGrossProfit(this OrderCostDetail ocd,
decimal skuShouldPay,
@ -94,11 +96,13 @@ namespace BBWY.Server.Business.Extensions
decimal xianPinLeiDongQuan,
decimal skuVenderFee,
decimal jingdou,
decimal dongquan,
decimal balance,
decimal platformCommissionRatio)
{
var pingTaiBuTie = pingTaiChengDanYouHuiQuan + superRedEnvelope + xianPinLeiDongQuan + jingdou;
var pingTaiBuTie = pingTaiChengDanYouHuiQuan + superRedEnvelope + xianPinLeiDongQuan + jingdou + dongquan;
var koudian = (skuShouldPay + pingTaiBuTie - skuVenderFee) * ocd.DeductionQuantity * platformCommissionRatio;
ocd.SkuGrossProfit = (skuShouldPay + pingTaiBuTie) * ocd.DeductionQuantity -
ocd.SkuGrossProfit = (skuShouldPay + pingTaiBuTie + balance) * ocd.DeductionQuantity -
ocd.TotalCost - ocd.DeliveryExpressFreight - koudian;
}
}

8
BBWY.Server.Business/Order/OrderBusiness.cs

@ -611,6 +611,8 @@ namespace BBWY.Server.Business
orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
orderSku.DongQuan ?? 0M,
orderSku.Balance ?? 0M,
autoCalculationCostRequest.PlatformCommissionRatio);
insertOrderCostDetailList.Add(orderCostDetail);
@ -687,6 +689,8 @@ namespace BBWY.Server.Business
osku.XianPinLeiDongQuan,
osku.VenderFee,
osku.JingDou,
osku.DongQuan,
osku.Balance
});
var avgPreferential = dbOrder.PreferentialAmount / orderSkuList.Count();
@ -720,6 +724,8 @@ namespace BBWY.Server.Business
osku.XianPinLeiDongQuan ?? 0M,
osku.VenderFee ?? 0M,
osku.JingDou ?? 0M,
osku.DongQuan ?? 0M,
osku.Balance ?? 0M,
manualCalculationCostRequest.PlatformCommissionRatio);
}
}
@ -986,6 +992,8 @@ namespace BBWY.Server.Business
dbOrderSku.XianPinLeiDongQuan ?? 0M,
dbOrderSku.VenderFee ?? 0M,
dbOrderSku.JingDou ?? 0M,
dbOrderSku.DongQuan ?? 0M,
dbOrderSku.Balance ?? 0M,
relationPurchaseOrderRequestV2.PlatformCommissionRatio);
}
#endregion

2
BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -273,6 +273,8 @@ namespace BBWY.Server.Business
orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
orderSku.DongQuan ?? 0M,
orderSku.Balance ?? 0M,
createOnlinePurchaseOrderRequest.PlatformCommissionRatio);
insertOrderCostDetails.Add(orderCostDetail);
#endregion

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

@ -285,8 +285,8 @@ namespace BBWY.Server.Business
var totalActualAmount = currentSkuOrderSkuList.Sum(osku =>
{
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M);
return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M) + (osku.DongQuan ?? 0M);
return (((osku.ShouldPay ?? 0M) + (osku.Balance ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
});
var totalProfit = currentSpuCostDetailList.Sum(ocd => ocd.SkuGrossProfit);
@ -305,8 +305,8 @@ namespace BBWY.Server.Business
//var shopProductAmount = orderSkuList.Sum(osku => osku.ItemTotal * osku.Price);
var shopActualAmount = orderSkuList.Sum(osku =>
{
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M);
return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M) + (osku.DongQuan ?? 0M);
return (((osku.ShouldPay ?? 0M) + (osku.Balance ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
});
if (noOrderSpuIdList != null && noOrderSpuIdList.Count() > 0)

16
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -815,6 +815,20 @@ namespace BBWY.Server.Business
skuJingDou = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.JingDou;
if (skuJingDou == null)
skuJingDou = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.JingDou;
decimal? skuDongQuan = orderSkuCFDetailList.FirstOrDefault(x => x.OrderId == orderId &&
x.SkuId == orderSkuId)?.DongQuan;
if (skuDongQuan == null)
skuDongQuan = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.DongQuan;
if (skuDongQuan == null)
skuDongQuan = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.DongQuan;
decimal? skuBalnace = orderSkuCFDetailList.FirstOrDefault(x => x.OrderId == orderId &&
x.SkuId == orderSkuId)?.Balance;
if (skuBalnace == null)
skuBalnace = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.Balance;
if (skuBalnace == null)
skuBalnace = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.Balance;
#endregion
//var itemPrice = orderSkuJToken.Value<decimal>("jdPrice"); //sku单价
@ -887,6 +901,8 @@ namespace BBWY.Server.Business
skuXianPinLeiDongQuan ?? 0M,
skuVenderFee ?? 0M,
skuJingDou ?? 0M,
skuDongQuan ?? 0M,
skuBalnace ?? 0M,
platformCommissionRatio);
insertOrderCostDetailList.Add(orderCostDetail);
}

14
BBWY.Server.Business/TestBusiness.cs

@ -235,12 +235,14 @@ namespace BBWY.Server.Business
if (ocd != null)
{
ocd.CalculationSkuGrossProfit(orderSku.ShouldPay ?? 0M,
orderSku.PingTaiChengDanYouHuiQuan ?? 0M,
orderSku.SuperRedEnvelope ?? 0M,
orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
shop.PlatformCommissionRatio ?? 0.05M);
orderSku.PingTaiChengDanYouHuiQuan ?? 0M,
orderSku.SuperRedEnvelope ?? 0M,
orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
orderSku.DongQuan ?? 0M,
orderSku.Balance ?? 0M,
shop.PlatformCommissionRatio ?? 0.05M);
var update = fsql.Update<OrderCostDetail>(ocd.Id).Set(x => x.SkuGrossProfit, ocd.SkuGrossProfit);
updateOrderCostDetailList.Add(update);
}

Loading…
Cancel
Save