Browse Source

京豆

AddValidOverTime
shanji 2 years ago
parent
commit
2be10af6cc
  1. 4
      BBWY.Server.Business/Extensions/OrderCostExtension.cs
  2. 6
      BBWY.Server.Business/Order/OrderBusiness.cs
  3. 1
      BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  4. 4
      BBWY.Server.Business/Statistics/StatisticsBusiness.cs
  5. 11
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  6. 3
      BBWY.Server.Business/TaskSchedulerManager.cs
  7. 3
      BBWY.Server.Business/TestBusiness.cs

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

@ -85,6 +85,7 @@ namespace BBWY.Server.Business.Extensions
/// <param name="superRedEnvelope"></param> /// <param name="superRedEnvelope"></param>
/// <param name="xianPinLeiDongQuan"></param> /// <param name="xianPinLeiDongQuan"></param>
/// <param name="skuVenderFee"></param> /// <param name="skuVenderFee"></param>
/// <param name="jingdou"></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,
@ -92,9 +93,10 @@ namespace BBWY.Server.Business.Extensions
decimal superRedEnvelope, decimal superRedEnvelope,
decimal xianPinLeiDongQuan, decimal xianPinLeiDongQuan,
decimal skuVenderFee, decimal skuVenderFee,
decimal jingdou,
decimal platformCommissionRatio) decimal platformCommissionRatio)
{ {
var pingTaiBuTie = pingTaiChengDanYouHuiQuan + superRedEnvelope + xianPinLeiDongQuan; var pingTaiBuTie = pingTaiChengDanYouHuiQuan + superRedEnvelope + xianPinLeiDongQuan + jingdou;
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) * ocd.DeductionQuantity -
ocd.TotalCost - ocd.DeliveryExpressFreight - koudian; ocd.TotalCost - ocd.DeliveryExpressFreight - koudian;

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

@ -610,6 +610,7 @@ namespace BBWY.Server.Business
orderSku.SuperRedEnvelope ?? 0M, orderSku.SuperRedEnvelope ?? 0M,
orderSku.XianPinLeiDongQuan ?? 0M, orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M, orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
autoCalculationCostRequest.PlatformCommissionRatio); autoCalculationCostRequest.PlatformCommissionRatio);
insertOrderCostDetailList.Add(orderCostDetail); insertOrderCostDetailList.Add(orderCostDetail);
@ -684,7 +685,8 @@ namespace BBWY.Server.Business
osku.PingTaiChengDanYouHuiQuan, osku.PingTaiChengDanYouHuiQuan,
osku.SuperRedEnvelope, osku.SuperRedEnvelope,
osku.XianPinLeiDongQuan, osku.XianPinLeiDongQuan,
osku.VenderFee osku.VenderFee,
osku.JingDou,
}); });
var avgPreferential = dbOrder.PreferentialAmount / orderSkuList.Count(); var avgPreferential = dbOrder.PreferentialAmount / orderSkuList.Count();
@ -717,6 +719,7 @@ namespace BBWY.Server.Business
osku.SuperRedEnvelope ?? 0M, osku.SuperRedEnvelope ?? 0M,
osku.XianPinLeiDongQuan ?? 0M, osku.XianPinLeiDongQuan ?? 0M,
osku.VenderFee ?? 0M, osku.VenderFee ?? 0M,
osku.JingDou ?? 0M,
manualCalculationCostRequest.PlatformCommissionRatio); manualCalculationCostRequest.PlatformCommissionRatio);
} }
} }
@ -982,6 +985,7 @@ namespace BBWY.Server.Business
dbOrderSku.SuperRedEnvelope ?? 0M, dbOrderSku.SuperRedEnvelope ?? 0M,
dbOrderSku.XianPinLeiDongQuan ?? 0M, dbOrderSku.XianPinLeiDongQuan ?? 0M,
dbOrderSku.VenderFee ?? 0M, dbOrderSku.VenderFee ?? 0M,
dbOrderSku.JingDou ?? 0M,
relationPurchaseOrderRequestV2.PlatformCommissionRatio); relationPurchaseOrderRequestV2.PlatformCommissionRatio);
} }
#endregion #endregion

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

@ -272,6 +272,7 @@ namespace BBWY.Server.Business
orderSku.SuperRedEnvelope ?? 0M, orderSku.SuperRedEnvelope ?? 0M,
orderSku.XianPinLeiDongQuan ?? 0M, orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M, orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
createOnlinePurchaseOrderRequest.PlatformCommissionRatio); createOnlinePurchaseOrderRequest.PlatformCommissionRatio);
insertOrderCostDetails.Add(orderCostDetail); insertOrderCostDetails.Add(orderCostDetail);
#endregion #endregion

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

@ -285,7 +285,7 @@ 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); 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; return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
}); });
var totalProfit = currentSpuCostDetailList.Sum(ocd => ocd.SkuGrossProfit); var totalProfit = currentSpuCostDetailList.Sum(ocd => ocd.SkuGrossProfit);
@ -305,7 +305,7 @@ 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); 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; return (((osku.ShouldPay ?? 0M) - (osku.VenderFee ?? 0M) + pingtaibutie) * osku.ItemTotal) ?? 0M;
}); });

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

@ -808,6 +808,13 @@ namespace BBWY.Server.Business
skuVenderFee = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.VenderFee; skuVenderFee = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.VenderFee;
if (skuVenderFee == null) if (skuVenderFee == null)
skuVenderFee = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.VenderFee; skuVenderFee = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.VenderFee;
decimal? skuJingDou = orderSkuCFDetailList.FirstOrDefault(x => x.OrderId == orderId &&
x.SkuId == orderSkuId)?.JingDou;
if (skuJingDou == null)
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;
#endregion #endregion
//var itemPrice = orderSkuJToken.Value<decimal>("jdPrice"); //sku单价 //var itemPrice = orderSkuJToken.Value<decimal>("jdPrice"); //sku单价
@ -878,7 +885,9 @@ namespace BBWY.Server.Business
skuPingTaiChengDanYouHuiQuan ?? 0M, skuPingTaiChengDanYouHuiQuan ?? 0M,
skuSuperRedEnvelope ?? 0M, skuSuperRedEnvelope ?? 0M,
skuXianPinLeiDongQuan ?? 0M, skuXianPinLeiDongQuan ?? 0M,
skuVenderFee ?? 0M, platformCommissionRatio); skuVenderFee ?? 0M,
skuJingDou ?? 0M,
platformCommissionRatio);
insertOrderCostDetailList.Add(orderCostDetail); insertOrderCostDetailList.Add(orderCostDetail);
} }
} }

3
BBWY.Server.Business/TaskSchedulerManager.cs

@ -4,6 +4,8 @@ namespace BBWY.Server.Business
{ {
public class TaskSchedulerManager public class TaskSchedulerManager
{ {
public LimitedConcurrencyLevelTaskScheduler RepairOrderTaskScheduler { get; private set; }
public LimitedConcurrencyLevelTaskScheduler SyncOrderTaskScheduler { get; private set; } public LimitedConcurrencyLevelTaskScheduler SyncOrderTaskScheduler { get; private set; }
public LimitedConcurrencyLevelTaskScheduler ProductSyncTaskScheduler { get; private set; } public LimitedConcurrencyLevelTaskScheduler ProductSyncTaskScheduler { get; private set; }
@ -34,6 +36,7 @@ namespace BBWY.Server.Business
public TaskSchedulerManager() public TaskSchedulerManager()
{ {
RepairOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(3);
SyncOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10); SyncOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
SyncRefundOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10); SyncRefundOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);
SyncAfterOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10); SyncAfterOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10);

3
BBWY.Server.Business/TestBusiness.cs

@ -238,6 +238,7 @@ namespace BBWY.Server.Business
orderSku.SuperRedEnvelope ?? 0M, orderSku.SuperRedEnvelope ?? 0M,
orderSku.XianPinLeiDongQuan ?? 0M, orderSku.XianPinLeiDongQuan ?? 0M,
orderSku.VenderFee ?? 0M, orderSku.VenderFee ?? 0M,
orderSku.JingDou ?? 0M,
shop.PlatformCommissionRatio ?? 0.05M); 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);
@ -264,7 +265,7 @@ namespace BBWY.Server.Business
} }
} }
}, CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); }, CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.RepairOrderTaskScheduler);
} }
} }

Loading…
Cancel
Save