From 55f0747eab095893bc346a9a092c34317bd49eea Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sat, 27 Aug 2022 04:33:39 +0800 Subject: [PATCH 1/4] =?UTF-8?q?SD=E5=85=AC=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Client/Views/Order/OrderList.xaml | 4 +-- .../Extensions/OrderCostExtension.cs | 11 ++++++++ BBWY.Server.Business/Order/OrderBusiness.cs | 26 +++++-------------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/BBWY.Client/Views/Order/OrderList.xaml b/BBWY.Client/Views/Order/OrderList.xaml index 1278f717..3a2fb533 100644 --- a/BBWY.Client/Views/Order/OrderList.xaml +++ b/BBWY.Client/Views/Order/OrderList.xaml @@ -1187,9 +1187,9 @@ - + diff --git a/BBWY.Server.Business/Extensions/OrderCostExtension.cs b/BBWY.Server.Business/Extensions/OrderCostExtension.cs index 94f507ef..99602be0 100644 --- a/BBWY.Server.Business/Extensions/OrderCostExtension.cs +++ b/BBWY.Server.Business/Extensions/OrderCostExtension.cs @@ -24,5 +24,16 @@ namespace BBWY.Server.Business.Extensions orderCost.AfterTotalCost + orderCost.RefundPurchaseAmount; } + + public static void CalculationSDOrderProfitAndCost(this OrderCost orderCost, Order order, IList afterSaleOrders) + { + orderCost.AfterTotalCost = afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.AfterTotalCost); + orderCost.RefundAmount = afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.RefundAmount ?? 0M); + orderCost.RefundPurchaseAmount = afterSaleOrders.Count == 0M ? 0M : afterSaleOrders.Sum(aso => aso.RefundPurchaseAmount ?? 0); + + //退款之后平台扣点 + orderCost.PlatformCommissionAmount = (order.OrderSellerPrice - orderCost.RefundAmount) * (orderCost.PlatformCommissionRatio); + orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount + orderCost.AfterTotalCost) * -1; + } } } diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 8b8abd5a..6205d8cb 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -2,7 +2,6 @@ using BBWY.Common.Http; using BBWY.Common.Models; using BBWY.Server.Business.Extensions; -using BBWY.Server.Business.PlatformSDK.DataExtension; using BBWY.Server.Model; using BBWY.Server.Model.Db; using BBWY.Server.Model.Db.Mds; @@ -11,46 +10,31 @@ using FreeSql; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using NLog; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Net.Http; -using System.Threading.Tasks; using Yitter.IdGenerator; namespace BBWY.Server.Business { public class OrderBusiness : BasePlatformRelayBusiness, IDenpendency { - private ILogger logger; private IFreeSql fsql; private IIdGenerator idGenerator; - private TaskSchedulerManager taskSchedulerManager; - private MDSBusiness mdsBusiness; - private VenderBusiness venderBusiness; private Lazy freeSqlMultiDBManagerLazy; private FreeSqlMultiDBManager freeSqlMultiDBManager => freeSqlMultiDBManagerLazy.Value; public OrderBusiness(RestApiService restApiService, - ILogger logger, IFreeSql fsql, IIdGenerator idGenerator, IOptions options, - TaskSchedulerManager taskSchedulerManager, - MDSBusiness mdsBusiness, - VenderBusiness venderBusiness, IServiceProvider serviceProvider) : base(restApiService, options) { - this.logger = logger; this.fsql = fsql; this.idGenerator = idGenerator; - this.taskSchedulerManager = taskSchedulerManager; - this.mdsBusiness = mdsBusiness; - this.venderBusiness = venderBusiness; freeSqlMultiDBManagerLazy = new Lazy(() => serviceProvider.GetService()); } @@ -671,6 +655,8 @@ namespace BBWY.Server.Business IUpdate updateOrderCost = null; IInsert insertOrderCost = null; + var dbAfterSaleOrderList = fsql.Select().Where(aso => aso.OrderId == sdCalculationCostRequest.OrderId).ToList(); + orderUpdate = fsql.Update(sdCalculationCostRequest.OrderId).Set(o => o.SDType, sdCalculationCostRequest.SDType) .Set(o => o.Flag, sdCalculationCostRequest.Flag) .Set(o => o.VenderRemark, sdCalculationCostRequest.VenderRemark) @@ -697,15 +683,17 @@ namespace BBWY.Server.Business IsManualEdited = true, SDCommissionAmount = sdCalculationCostRequest.SDCommissionAmount }; - orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; - orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1; + //orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; + //orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1; + orderCost.CalculationSDOrderProfitAndCost(dbOrder, dbAfterSaleOrderList); insertOrderCost = fsql.Insert(orderCost); } else { orderCost.SDCommissionAmount = sdCalculationCostRequest.SDCommissionAmount; orderCost.DeliveryExpressFreight = sdCalculationCostRequest.DeliveryExpressFreight; - orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1; + //orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1; + orderCost.CalculationSDOrderProfitAndCost(dbOrder, dbAfterSaleOrderList); orderCost.IsManualEdited = true; updateOrderCost = fsql.Update().SetSource(orderCost); } From 987f0436c631dc6a2ccd6a8f437572c754afd855 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sat, 27 Aug 2022 11:25:30 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=94=AE=E5=90=8ESD=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E7=AE=97=E6=88=90=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AfterSaleOrder/AfterSaleOrderBusiness.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs b/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs index 21e2813d..8abde426 100644 --- a/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs +++ b/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs @@ -137,6 +137,8 @@ namespace BBWY.Server.Business { dbAfterSaleOrder.SDRefundFreight = editAfterSaleOrderRequest.SDRefundFreight; dbAfterSaleOrder.AfterTotalCost = dbAfterSaleOrder.SDRefundFreight + dbAfterSaleOrder.ReissueAfterSaleAmount; + + dbOrderCost.CalculationSDOrderProfitAndCost(dbOrder, afterSaleOrderList); } else { @@ -202,11 +204,11 @@ namespace BBWY.Server.Business dbAfterSaleOrder.ReissueFreight.Value + dbAfterSaleOrder.ReissueProductAmount.Value + dbAfterSaleOrder.StorageAmount; + + dbOrderCost.CalculationOrderProfitAndCost(dbOrder, afterSaleOrderList); } #endregion - - dbOrderCost.CalculationOrderProfitAndCost(dbOrder, afterSaleOrderList); - + fsql.Transaction(() => { fsql.Update().SetSource(dbOrderCost).ExecuteAffrows(); From 6035c417f645b339033130a29815f312ac01b912 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sat, 27 Aug 2022 11:33:31 +0800 Subject: [PATCH 3/4] =?UTF-8?q?sd=E9=80=80=E8=B4=A7=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs b/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs index 8abde426..8250a295 100644 --- a/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs +++ b/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs @@ -135,6 +135,8 @@ namespace BBWY.Server.Business if (dbAfterSaleOrder.ServiceResult == Model.Enums.ServiceResult.SD退货) { + if (dbOrder.StorageType != Model.Enums.StorageType.SD) + throw new BusinessException("只有SD订单才能选择SD退货"); dbAfterSaleOrder.SDRefundFreight = editAfterSaleOrderRequest.SDRefundFreight; dbAfterSaleOrder.AfterTotalCost = dbAfterSaleOrder.SDRefundFreight + dbAfterSaleOrder.ReissueAfterSaleAmount; @@ -208,7 +210,7 @@ namespace BBWY.Server.Business dbOrderCost.CalculationOrderProfitAndCost(dbOrder, afterSaleOrderList); } #endregion - + fsql.Transaction(() => { fsql.Update().SetSource(dbOrderCost).ExecuteAffrows(); From 97deeb30091c183a6282e07f791b41263767a281 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 29 Aug 2022 20:17:37 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=90=8C=E6=AD=A5=E5=A4=B1=E6=95=88=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Business/Sync/ProductSyncBusiness.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs index 270bcad2..f8c3ad11 100644 --- a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs @@ -72,7 +72,7 @@ namespace BBWY.Server.Business.Sync } else if (dbProduct.State != product.State) { - var update = fsql.Update(product.Id).Set(p => p.State, dbProduct.State); + var update = fsql.Update(product.Id).Set(p => p.State, product.State); updateProductList.Add(update); } @@ -181,7 +181,7 @@ namespace BBWY.Server.Business.Sync public void SyncAllShopAllProduct() { var shopList = venderBusiness.GetShopList(); - //SyncProduct(shopList.FirstOrDefault(s => s.ShopName == "瑞源玩具专营店"), true); //瑞源玩具专营店 + //SyncProduct(shopList.FirstOrDefault(s => s.ShopName == "布莱特玩具专营店"), true); foreach (var shop in shopList) { Task.Factory.StartNew(() => SyncProduct(shop, true), System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.ProductSyncTaskScheduler);