From e4b898f796885a7dc46b68b37b89fcdeb772a290 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 13 Nov 2023 01:01:41 +0800 Subject: [PATCH] 1 --- BBWY.Server.API/Controllers/TestController.cs | 9 ++++++- .../Sync/OrderSyncBusiness.cs | 8 +++--- BBWY.Server.Business/TestBusiness.cs | 25 +++++++++++++------ 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/BBWY.Server.API/Controllers/TestController.cs b/BBWY.Server.API/Controllers/TestController.cs index 894d4245..c706ab87 100644 --- a/BBWY.Server.API/Controllers/TestController.cs +++ b/BBWY.Server.API/Controllers/TestController.cs @@ -1,5 +1,6 @@ using BBWY.Server.Business; using BBWY.Server.Model.Db; +using BBWY.Server.Model.Dto; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; @@ -22,6 +23,12 @@ namespace BBWY.Server.API.Controllers { testBusiness.StatisticsProduct(); - } + } + + [HttpPost] + public void RepairSkuDetailAndSkuGriooProfit([FromBody] RepairSkuDetailAndSkuGriooProfit request) + { + testBusiness.RepairSkuDetailAndSkuGriooProfit(request); + } } } diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 71c04687..1ef56770 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -285,6 +285,7 @@ namespace BBWY.Server.Business if (insertOrderList.Any(o => o.Id == orderId)) continue; var dbOrder = dbOrderList.FirstOrDefault(o => o.Id == orderId); + var dbOrderTotal = dbOrderTotalList.FirstOrDefault(o => o.Id == orderId); var isNewOrder = dbOrder == null; SDCalculationCostRequest sDCalculationCostRequest = null; //SD信息埋点 @@ -447,7 +448,6 @@ namespace BBWY.Server.Business var storeOrder = orderJToken.Value("storeOrder") ?? string.Empty; var storeId = orderJToken.Value("storeId"); var storageType = ConvertStoreOrder(storeOrder); - var preferentialAmount = 0M; if (dbOrder == null) { var orderTotalInfo = insertOrderTotalInfoList.FirstOrDefault(x => x.Id == orderId); @@ -866,8 +866,8 @@ namespace BBWY.Server.Business (orderSellerPrice > 0M && dbOrder.IsGift) || orderTotalPrice != dbOrder.OrderTotalPrice || storeOrder != dbOrder.StoreOrder || - preferentialAmount != dbOrder.PreferentialAmount || - storeId != dbOrder.StoreId) + storeId != dbOrder.StoreId || + (dbOrderTotal != null && dbOrderTotal.TotalPingTaiChengDanYouHuiQuan != dbOrder.PreferentialAmount)) { var updateSql = fsql.Update(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState) .SetIf(buyerRemark != dbOrder.BuyerRemark, o => o.BuyerRemark, buyerRemark) @@ -883,7 +883,7 @@ namespace BBWY.Server.Business .SetIf(orderSellerPrice > 0M && dbOrder.IsGift == true, o => o.IsGift, false) .SetIf(storeOrder != dbOrder.StoreOrder, o => o.StoreOrder, storeOrder) .SetIf(storeOrder != dbOrder.StoreOrder, o => o.StorageType, storageType) - .SetIf(preferentialAmount != dbOrder.PreferentialAmount, o => o.PreferentialAmount, preferentialAmount) + .SetIf(dbOrderTotal != null && dbOrderTotal.TotalPingTaiChengDanYouHuiQuan != dbOrder.PreferentialAmount, o => o.PreferentialAmount, dbOrderTotal.TotalPingTaiChengDanYouHuiQuan) .SetIf(storeId != dbOrder.StoreId, o => o.StoreId, storeId); updateOrderList.Add(updateSql); } diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs index 1dc98590..dbaa1713 100644 --- a/BBWY.Server.Business/TestBusiness.cs +++ b/BBWY.Server.Business/TestBusiness.cs @@ -11,6 +11,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; +using BBWY.Server.Business.Extensions; namespace BBWY.Server.Business { @@ -177,14 +178,21 @@ namespace BBWY.Server.Business o.OrderState != Enums.OrderState.已取消 && o.StorageType != Enums.StorageType.SD && o.StartTime >= request.StartTime && - o.StartTime <= request.EndTime && - !fsql.Select().Where(ot => ot.Id == o.Id).Any()) + o.StartTime <= request.EndTime) .ToList(o => o.Id); - foreach (var orderId in orderIdList) - { - orderSyncBusiness.SyncOrder(shop, orderId); - Thread.Sleep(500); - } + + //fsql.Transaction(() => + //{ + // fsql.Delete(orderIdList).ExecuteAffrows(); + // fsql.Delete().Where(on => orderIdList.Contains(on.OrderId)).ExecuteAffrows(); + // fsql.Delete().Where(op => orderIdList.Contains(op.OrderId)).ExecuteAffrows(); + //}); + + //foreach (var orderId in orderIdList) + //{ + // orderSyncBusiness.SyncOrder(shop, orderId); + // Thread.Sleep(500); + //} var orderList = fsql.Select(orderIdList).ToList(); var orderSkuList = fsql.Select().Where(osku => osku.Price > 0 && orderIdList.Contains(osku.OrderId)).ToList(); @@ -205,7 +213,8 @@ namespace BBWY.Server.Business foreach (var orderSku in currentOrderSkuList) { var ocd = currentOrderCostDetailList.FirstOrDefault(x => x.SkuId == orderSku.SkuId); - ocd.SkuGrossProfit = ((orderSku.ShouldPay ?? 0M) + (orderSku.Coupon ?? 0M)) * ocd.DeductionQuantity - ocd.TotalCost - ocd.DeliveryExpressFreight; + //ocd.SkuGrossProfit = ((orderSku.ShouldPay ?? 0M) + (orderSku.Coupon ?? 0M)) * ocd.DeductionQuantity - ocd.TotalCost - ocd.DeliveryExpressFreight; + ocd.CalculationSkuGrossProfit(orderSku.ShouldPay ?? 0M, orderSku.PingTaiChengDanYouHuiQuan ?? 0M, orderSku.VenderFee ?? 0M, shop.PlatformCommissionRatio ?? 0.05M); var update = fsql.Update(ocd.Id).Set(x => x.SkuGrossProfit, ocd.SkuGrossProfit); updateOrderCostDetailList.Add(update); }