|
|
@ -350,7 +350,8 @@ namespace BBWYB.Server.Business |
|
|
|
IsManualEdited = false, |
|
|
|
PlatformCommissionRatio = 0, |
|
|
|
PreferentialAmount = 0, |
|
|
|
PurchaseAmount = totalPurchaseAmount |
|
|
|
PurchaseAmount = totalPurchaseAmount, |
|
|
|
TotalCost = totalPurchaseAmount |
|
|
|
}; |
|
|
|
//orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio;
|
|
|
|
orderCost.Profit = dbOrder.OrderTotalPrice - |
|
|
@ -450,6 +451,8 @@ namespace BBWYB.Server.Business |
|
|
|
var dbPurchaseOrderList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == request.OrderId).ToList(); |
|
|
|
var dbOrderSkuList = fsql.Select<OrderSku>().Where(osku => osku.OrderId == request.OrderId).ToList(); |
|
|
|
var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId).ToList(); |
|
|
|
var dbOrderCost = fsql.Select<OrderCost>(request.OrderId).ToOne(); |
|
|
|
var dbOrder = fsql.Select<Order>(request.OrderId).ToOne(); |
|
|
|
|
|
|
|
List<OrderPurchaseInfo> insertOrderPurchaseInfoList = new List<OrderPurchaseInfo>(); |
|
|
|
IList<IUpdate<OrderPurchaseInfo>> updateOrderPurchaseInfoList = new List<IUpdate<OrderPurchaseInfo>>(); |
|
|
@ -523,9 +526,54 @@ namespace BBWYB.Server.Business |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
|
|
|
|
var totalPurchaseAmount = request.AssociationPurchaseOrderList.Sum(p => p.PurchaseAmount + p.PurchaseFreight); |
|
|
|
var profit = dbOrder.OrderTotalPrice - totalPurchaseAmount - (dbOrderCost?.DeliveryExpressFreight ?? 0); // -orderCost.PlatformCommissionAmount
|
|
|
|
|
|
|
|
if (dbOrderCost == null) |
|
|
|
{ |
|
|
|
dbOrderCost = new OrderCost() |
|
|
|
{ |
|
|
|
OrderId = request.OrderId, |
|
|
|
DeliveryExpressFreight = 0, |
|
|
|
IsManualEdited = false, |
|
|
|
PlatformCommissionAmount = 0, |
|
|
|
PlatformCommissionRatio = 0, |
|
|
|
PreferentialAmount = 0, |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
PurchaseAmount = totalPurchaseAmount, |
|
|
|
TotalCost = totalPurchaseAmount, |
|
|
|
Profit = profit |
|
|
|
}; |
|
|
|
insertOrderCost = fsql.Insert(dbOrderCost); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
dbOrderCost.PurchaseAmount = totalPurchaseAmount; |
|
|
|
dbOrderCost.Profit = profit; |
|
|
|
updateOrderCost = fsql.Update<OrderCost>(request.OrderId).Set(oc => oc.PurchaseAmount, totalPurchaseAmount) |
|
|
|
.Set(oc => oc.TotalCost, totalPurchaseAmount) |
|
|
|
.Set(oc => oc.Profit, profit); |
|
|
|
} |
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
if (insertOrderPurchaseInfoList.Count() > 0) |
|
|
|
fsql.Insert(insertOrderPurchaseInfoList).ExecuteAffrows(); |
|
|
|
if (updateOrderPurchaseInfoList.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var update in updateOrderPurchaseInfoList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
} |
|
|
|
if (insertOrderCostDetailList.Count() > 0) |
|
|
|
fsql.Insert(insertOrderCostDetailList).ExecuteAffrows(); |
|
|
|
if (updateOrderCostDetailList.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var update in updateOrderCostDetailList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
} |
|
|
|
insertOrderCost?.ExecuteAffrows(); |
|
|
|
updateOrderCost?.ExecuteAffrows(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|