diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs
index 1e906e9e..f651ee3a 100644
--- a/BBWY.Server.Business/Order/OrderBusiness.cs
+++ b/BBWY.Server.Business/Order/OrderBusiness.cs
@@ -425,6 +425,9 @@ namespace BBWY.Server.Business
///
public void AutoCalculationCost(AutoCalculationCostRequest autoCalculationCostRequest)
{
+ if (autoCalculationCostRequest.PlatformCommissionRatio == 0M)
+ autoCalculationCostRequest.PlatformCommissionRatio = 0.05M;
+
var dbOrder = fsql.Select(autoCalculationCostRequest.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException($"订单号{autoCalculationCostRequest.OrderId}不存在");
@@ -519,15 +522,13 @@ namespace BBWY.Server.Business
SkuAmount = purchaseOrder.SingleSkuAmount * deductionQuantity,
StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity
};
- orderCostDetail.SkuGrossProfit = orderSku.Price.Value * deductionQuantity - (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight);
+ orderCostDetail.SkuGrossProfit = orderSku.Price.Value * deductionQuantity - (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight) - orderSku.Price.Value * deductionQuantity * autoCalculationCostRequest.PlatformCommissionRatio;
insertOrderCostDetailList.Add(orderCostDetail);
}
}
if (orderCost == null)
{
- if (autoCalculationCostRequest.PlatformCommissionRatio == 0M)
- autoCalculationCostRequest.PlatformCommissionRatio = 0.05M;
#region 计算成本
orderCost = new OrderCost()
{
@@ -584,6 +585,8 @@ namespace BBWY.Server.Business
///
public void ManualCalculationCost(ManualCalculationCostRequest manualCalculationCostRequest)
{
+ if (manualCalculationCostRequest.PlatformCommissionRatio == 0M)
+ manualCalculationCostRequest.PlatformCommissionRatio = 0.05M;
var dbOrder = fsql.Select(manualCalculationCostRequest.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException($"订单号{manualCalculationCostRequest.OrderId}不存在");
@@ -617,7 +620,8 @@ namespace BBWY.Server.Business
if (osku != null)
{
orderCostDetail.SkuGrossProfit = osku.Price.Value * orderCostDetail.DeductionQuantity -
- (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight);
+ (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight) *
+ osku.Price.Value * orderCostDetail.DeductionQuantity * manualCalculationCostRequest.PlatformCommissionRatio;
}
}
@@ -627,8 +631,6 @@ namespace BBWY.Server.Business
var orderCost = fsql.Select(manualCalculationCostRequest.OrderId).ToOne();
if (orderCost == null)
{
- if (manualCalculationCostRequest.PlatformCommissionRatio == 0M)
- manualCalculationCostRequest.PlatformCommissionRatio = 0.05M;
orderCost = new OrderCost()
{
OrderId = manualCalculationCostRequest.OrderId,
diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 1aabcfd4..87a89dac 100644
--- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -261,6 +261,7 @@ namespace BBWY.Server.Business
//UnitCost = purchaseOrder.UnitCost,
//TotalCost = currentOrderSkuProductAmount + currentOrderSkuFreightAmount//purchaseOrder.UnitCost * orderSku.ItemTotal.Value
};
+ orderCostDetail.SkuGrossProfit = orderSku.Price.Value * orderCostDetail.DeductionQuantity - (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight) - orderSku.Price.Value * orderCostDetail.DeductionQuantity * createOnlinePurchaseOrderRequest.PlatformCommissionRatio;
insertOrderCostDetails.Add(orderCostDetail);
#endregion
}
diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
index 7a0b63f9..81cedc2d 100644
--- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
+++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs
@@ -517,7 +517,8 @@ namespace BBWY.Server.Business
IsEnabled = true
};
orderCostDetail.SkuGrossProfit = itemPrice * deductionQuantity -
- (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight);
+ (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight) -
+ itemPrice * deductionQuantity * platformCommissionRatio;
insertOrderCostDetailList.Add(orderCostDetail);
}
}