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

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

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

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

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

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

@ -285,8 +285,8 @@ namespace BBWY.Server.Business
var totalActualAmount = currentSkuOrderSkuList.Sum(osku => var totalActualAmount = currentSkuOrderSkuList.Sum(osku =>
{ {
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M); var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M) + (osku.DongQuan ?? 0M);
return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M; return (((osku.ShouldPay ?? 0M) + (osku.Balance ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
}); });
var totalProfit = currentSpuCostDetailList.Sum(ocd => ocd.SkuGrossProfit); 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 shopProductAmount = orderSkuList.Sum(osku => osku.ItemTotal * osku.Price);
var shopActualAmount = orderSkuList.Sum(osku => var shopActualAmount = orderSkuList.Sum(osku =>
{ {
var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M); var pingtaibutie = (osku.PingTaiChengDanYouHuiQuan ?? 0M) + (osku.SuperRedEnvelope ?? 0M) + (osku.XianPinLeiDongQuan ?? 0M) + (osku.JingDou ?? 0M) + (osku.DongQuan ?? 0M);
return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M; return (((osku.ShouldPay ?? 0M) + (osku.Balance ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
}); });
if (noOrderSpuIdList != null && noOrderSpuIdList.Count() > 0) 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; skuJingDou = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.JingDou;
if (skuJingDou == null) if (skuJingDou == null)
skuJingDou = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.JingDou; 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 #endregion
//var itemPrice = orderSkuJToken.Value<decimal>("jdPrice"); //sku单价 //var itemPrice = orderSkuJToken.Value<decimal>("jdPrice"); //sku单价
@ -887,6 +901,8 @@ namespace BBWY.Server.Business
skuXianPinLeiDongQuan ?? 0M, skuXianPinLeiDongQuan ?? 0M,
skuVenderFee ?? 0M, skuVenderFee ?? 0M,
skuJingDou ?? 0M, skuJingDou ?? 0M,
skuDongQuan ?? 0M,
skuBalnace ?? 0M,
platformCommissionRatio); platformCommissionRatio);
insertOrderCostDetailList.Add(orderCostDetail); insertOrderCostDetailList.Add(orderCostDetail);
} }

14
BBWY.Server.Business/TestBusiness.cs

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

Loading…
Cancel
Save