From 2be10af6cc76ae4786c863eb7f93370bca6a7000 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 17 Nov 2023 01:14:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Business/Extensions/OrderCostExtension.cs | 4 +++- BBWY.Server.Business/Order/OrderBusiness.cs | 6 +++++- .../PurchaseOrder/PurchaseOrderBusiness.cs | 1 + BBWY.Server.Business/Statistics/StatisticsBusiness.cs | 4 ++-- BBWY.Server.Business/Sync/OrderSyncBusiness.cs | 11 ++++++++++- BBWY.Server.Business/TaskSchedulerManager.cs | 3 +++ BBWY.Server.Business/TestBusiness.cs | 3 ++- 7 files changed, 26 insertions(+), 6 deletions(-) diff --git a/BBWY.Server.Business/Extensions/OrderCostExtension.cs b/BBWY.Server.Business/Extensions/OrderCostExtension.cs index 2eabda1f..ebb571be 100644 --- a/BBWY.Server.Business/Extensions/OrderCostExtension.cs +++ b/BBWY.Server.Business/Extensions/OrderCostExtension.cs @@ -85,6 +85,7 @@ namespace BBWY.Server.Business.Extensions /// /// /// + /// /// public static void CalculationSkuGrossProfit(this OrderCostDetail ocd, decimal skuShouldPay, @@ -92,9 +93,10 @@ namespace BBWY.Server.Business.Extensions decimal superRedEnvelope, decimal xianPinLeiDongQuan, decimal skuVenderFee, + decimal jingdou, decimal platformCommissionRatio) { - var pingTaiBuTie = pingTaiChengDanYouHuiQuan + superRedEnvelope + xianPinLeiDongQuan; + var pingTaiBuTie = pingTaiChengDanYouHuiQuan + superRedEnvelope + xianPinLeiDongQuan + jingdou; var koudian = (skuShouldPay + pingTaiBuTie - skuVenderFee) * ocd.DeductionQuantity * platformCommissionRatio; ocd.SkuGrossProfit = (skuShouldPay + pingTaiBuTie) * ocd.DeductionQuantity - ocd.TotalCost - ocd.DeliveryExpressFreight - koudian; diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index fddb1d02..a5f8f80e 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -610,6 +610,7 @@ namespace BBWY.Server.Business orderSku.SuperRedEnvelope ?? 0M, orderSku.XianPinLeiDongQuan ?? 0M, orderSku.VenderFee ?? 0M, + orderSku.JingDou ?? 0M, autoCalculationCostRequest.PlatformCommissionRatio); insertOrderCostDetailList.Add(orderCostDetail); @@ -684,7 +685,8 @@ namespace BBWY.Server.Business osku.PingTaiChengDanYouHuiQuan, osku.SuperRedEnvelope, osku.XianPinLeiDongQuan, - osku.VenderFee + osku.VenderFee, + osku.JingDou, }); var avgPreferential = dbOrder.PreferentialAmount / orderSkuList.Count(); @@ -717,6 +719,7 @@ namespace BBWY.Server.Business osku.SuperRedEnvelope ?? 0M, osku.XianPinLeiDongQuan ?? 0M, osku.VenderFee ?? 0M, + osku.JingDou ?? 0M, manualCalculationCostRequest.PlatformCommissionRatio); } } @@ -982,6 +985,7 @@ namespace BBWY.Server.Business dbOrderSku.SuperRedEnvelope ?? 0M, dbOrderSku.XianPinLeiDongQuan ?? 0M, dbOrderSku.VenderFee ?? 0M, + dbOrderSku.JingDou ?? 0M, relationPurchaseOrderRequestV2.PlatformCommissionRatio); } #endregion diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index a67ca7fb..0c84136c 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -272,6 +272,7 @@ namespace BBWY.Server.Business orderSku.SuperRedEnvelope ?? 0M, orderSku.XianPinLeiDongQuan ?? 0M, orderSku.VenderFee ?? 0M, + orderSku.JingDou ?? 0M, createOnlinePurchaseOrderRequest.PlatformCommissionRatio); insertOrderCostDetails.Add(orderCostDetail); #endregion diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index c2012a44..725a493b 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -285,7 +285,7 @@ namespace BBWY.Server.Business 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; }); 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 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; }); diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 91b3490e..090a8403 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/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; if (skuVenderFee == null) 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 //var itemPrice = orderSkuJToken.Value("jdPrice"); //sku单价 @@ -878,7 +885,9 @@ namespace BBWY.Server.Business skuPingTaiChengDanYouHuiQuan ?? 0M, skuSuperRedEnvelope ?? 0M, skuXianPinLeiDongQuan ?? 0M, - skuVenderFee ?? 0M, platformCommissionRatio); + skuVenderFee ?? 0M, + skuJingDou ?? 0M, + platformCommissionRatio); insertOrderCostDetailList.Add(orderCostDetail); } } diff --git a/BBWY.Server.Business/TaskSchedulerManager.cs b/BBWY.Server.Business/TaskSchedulerManager.cs index 93a26df1..f8681d1d 100644 --- a/BBWY.Server.Business/TaskSchedulerManager.cs +++ b/BBWY.Server.Business/TaskSchedulerManager.cs @@ -4,6 +4,8 @@ namespace BBWY.Server.Business { public class TaskSchedulerManager { + public LimitedConcurrencyLevelTaskScheduler RepairOrderTaskScheduler { get; private set; } + public LimitedConcurrencyLevelTaskScheduler SyncOrderTaskScheduler { get; private set; } public LimitedConcurrencyLevelTaskScheduler ProductSyncTaskScheduler { get; private set; } @@ -34,6 +36,7 @@ namespace BBWY.Server.Business public TaskSchedulerManager() { + RepairOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(3); SyncOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10); SyncRefundOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10); SyncAfterOrderTaskScheduler = new LimitedConcurrencyLevelTaskScheduler(10); diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs index 16f8a7a7..efc2498b 100644 --- a/BBWY.Server.Business/TestBusiness.cs +++ b/BBWY.Server.Business/TestBusiness.cs @@ -238,6 +238,7 @@ namespace BBWY.Server.Business orderSku.SuperRedEnvelope ?? 0M, orderSku.XianPinLeiDongQuan ?? 0M, orderSku.VenderFee ?? 0M, + orderSku.JingDou ?? 0M, shop.PlatformCommissionRatio ?? 0.05M); var update = fsql.Update(ocd.Id).Set(x => x.SkuGrossProfit, ocd.SkuGrossProfit); updateOrderCostDetailList.Add(update); @@ -264,7 +265,7 @@ namespace BBWY.Server.Business } } - }, CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); + }, CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.RepairOrderTaskScheduler); } }