diff --git a/BBWY.Server.Business/Extensions/OrderCostExtension.cs b/BBWY.Server.Business/Extensions/OrderCostExtension.cs
index ebb571be..a3886f56 100644
--- a/BBWY.Server.Business/Extensions/OrderCostExtension.cs
+++ b/BBWY.Server.Business/Extensions/OrderCostExtension.cs
@@ -86,6 +86,8 @@ namespace BBWY.Server.Business.Extensions
///
///
///
+ ///
+ ///
///
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;
}
}
diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs
index 50d6b73d..3a55f086 100644
--- a/BBWY.Server.Business/Order/OrderBusiness.cs
+++ b/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
diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 0c84136c..af931816 100644
--- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/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
diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs
index bd7f2ee0..bd2edaa4 100644
--- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs
+++ b/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)
diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
index 090a8403..c4efd2c7 100644
--- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
+++ b/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("jdPrice"); //sku单价
@@ -887,6 +901,8 @@ namespace BBWY.Server.Business
skuXianPinLeiDongQuan ?? 0M,
skuVenderFee ?? 0M,
skuJingDou ?? 0M,
+ skuDongQuan ?? 0M,
+ skuBalnace ?? 0M,
platformCommissionRatio);
insertOrderCostDetailList.Add(orderCostDetail);
}
diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs
index c6de52c8..2afd14a1 100644
--- a/BBWY.Server.Business/TestBusiness.cs
+++ b/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(ocd.Id).Set(x => x.SkuGrossProfit, ocd.SkuGrossProfit);
updateOrderCostDetailList.Add(update);
}