From 8d4c72a2bc32831d10520d20ed70b64eef462a77 Mon Sep 17 00:00:00 2001 From: sanji Date: Fri, 15 Dec 2023 14:20:23 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Client/GlobalContext.cs | 2 +- .../Purchase/1688PreviewPurchaseViewModel.cs | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index aa9ede9e..5831bf75 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10221"; + ClientVersion = "10222"; } diff --git a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs index f9022b7d..878d5aea 100644 --- a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs +++ b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs @@ -76,6 +76,7 @@ namespace BBWY.Client.ViewModels /// 扩展数据,暂用于拳探 /// private string extensions; + private bool isSkuMatchError; public _1688PreviewPurchaseViewModel(OneBoundAPIService oneBoundAPIService, PurchaseService purchaseService, @@ -117,7 +118,7 @@ namespace BBWY.Client.ViewModels protected override void Load() { IsLoading = true; - + isSkuMatchError = false; Task.Factory.StartNew(() => purchaseService.GetPurchaseSchemeList(order.ItemList.Select(osku => osku.Id).ToList(), purchaser.Id, globalContext.User.Shop.ShopId)) .ContinueWith(r => { @@ -150,7 +151,10 @@ namespace BBWY.Client.ViewModels else { IsLoading = false; - App.Current.Dispatcher.Invoke(() => MessageBox.Show("采购方案商品加载失败,请重新打开预览窗口", "提示")); + if (isSkuMatchError) + App.Current.Dispatcher.Invoke(() => MessageBox.Show("采购方案与当前商品页的数据匹配失败,请删除旧采购方案后重新绑定采购方案", "提示")); + else + App.Current.Dispatcher.Invoke(() => MessageBox.Show("采购方案商品加载失败,请重新打开预览窗口", "提示")); } }); } @@ -195,6 +199,11 @@ namespace BBWY.Client.ViewModels } } }); + + if (purchaseSchemeProduct.SelectedSkuIdList.Any(s => !data.Value.purchaseSchemeProductSkus.Any(s1 => s1.PurchaseSkuId == s))) + { + isSkuMatchError = true; + } } ewh.Set(); From 8a49543deb7725241d173b345ee3d45c3b0be25b Mon Sep 17 00:00:00 2001 From: sanji Date: Fri, 15 Dec 2023 14:33:33 +0800 Subject: [PATCH 02/19] 10223 --- BBWY.Client/GlobalContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index 5831bf75..11a4832b 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10222"; + ClientVersion = "10223"; } From 941af2559250a5af1f6e7751c167062642daf2a5 Mon Sep 17 00:00:00 2001 From: sanji Date: Fri, 15 Dec 2023 17:26:17 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=A3=E5=8F=91?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.API/Controllers/TestController.cs | 6 +++++ BBWY.Server.Business/TestBusiness.cs | 25 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/BBWY.Server.API/Controllers/TestController.cs b/BBWY.Server.API/Controllers/TestController.cs index edbdf8b6..4f830b5d 100644 --- a/BBWY.Server.API/Controllers/TestController.cs +++ b/BBWY.Server.API/Controllers/TestController.cs @@ -42,5 +42,11 @@ namespace BBWY.Server.API.Controllers { testBusiness.RepairOrderProfit(); } + + [HttpPost] + public void RepairDFOrder() + { + testBusiness.RepairDFOrder(); + } } } diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs index 257ecb48..744f188d 100644 --- a/BBWY.Server.Business/TestBusiness.cs +++ b/BBWY.Server.Business/TestBusiness.cs @@ -15,6 +15,7 @@ using BBWY.Server.Business.Extensions; using Newtonsoft.Json; using System.Net.Http; using System.Threading.Tasks; +using Org.BouncyCastle.Crypto.Signers; namespace BBWY.Server.Business { @@ -25,6 +26,7 @@ namespace BBWY.Server.Business private IFreeSql fsql; private OrderSyncBusiness orderSyncBusiness; private TaskSchedulerManager taskSchedulerManager; + private PurchaseOrderBusiness purchaseOrderBusiness; public TestBusiness(RestApiService restApiService, IOptions options, FreeSqlMultiDBManager freeSqlMultiDBManager, @@ -32,13 +34,15 @@ namespace BBWY.Server.Business YunDingBusiness yunDingBusiness, IFreeSql fsql, OrderSyncBusiness orderSyncBusiness, - TaskSchedulerManager taskSchedulerManager) : base(restApiService, options, yunDingBusiness) + TaskSchedulerManager taskSchedulerManager, + PurchaseOrderBusiness purchaseOrderBusiness) : base(restApiService, options, yunDingBusiness) { this.freeSqlMultiDBManager = freeSqlMultiDBManager; this.venderBusiness = venderBusiness; this.fsql = fsql; this.orderSyncBusiness = orderSyncBusiness; this.taskSchedulerManager = taskSchedulerManager; + this.purchaseOrderBusiness = purchaseOrderBusiness; } public void SyncVenderId() @@ -385,6 +389,25 @@ namespace BBWY.Server.Business if (!response.Success) throw new BusinessException(response.Msg); } + + public void RepairDFOrder() + { + var st = DateTime.Parse("2023-11-01"); + var et = DateTime.Parse("2023-11-30 23:59:59"); + var list = fsql.Select() + .InnerJoin((o, ods, ocd) => o.Id == ods.OrderId) + .InnerJoin((o, ods, ocd) => o.Id == ocd.OrderId) + .Where((o, ods, ocd) => o.ShopId == 11817258 && o.OrderState != Enums.OrderState.已取消 && o.StartTime >= st && o.StartTime <= et && o.StorageType == Enums.StorageType.代发 && ocd.IsEnabled == true && ocd.SkuAmount == 0) + .ToList((o, ods, ocd) => ods.PurchaseOrderId).Distinct().ToList(); + + for (var i = 0; i < list.Count; i++) + { + Console.WriteLine($"{i + 1}/{list.Count()},{list[i]}"); + var param = new { type = "ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY", data = new { orderId = list[i] } }; + purchaseOrderBusiness.CallbackFrom1688(JsonConvert.SerializeObject(param)); + Thread.Sleep(1000); + } + } } public class JPCount From ffe849a59b91e0787a5c6f62d8f0b7d6cb438c37 Mon Sep 17 00:00:00 2001 From: sanji Date: Sat, 16 Dec 2023 15:02:31 +0800 Subject: [PATCH 04/19] 1 --- BBWY.Server.Business/TestBusiness.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs index 744f188d..b63ba0fb 100644 --- a/BBWY.Server.Business/TestBusiness.cs +++ b/BBWY.Server.Business/TestBusiness.cs @@ -397,7 +397,7 @@ namespace BBWY.Server.Business var list = fsql.Select() .InnerJoin((o, ods, ocd) => o.Id == ods.OrderId) .InnerJoin((o, ods, ocd) => o.Id == ocd.OrderId) - .Where((o, ods, ocd) => o.ShopId == 11817258 && o.OrderState != Enums.OrderState.已取消 && o.StartTime >= st && o.StartTime <= et && o.StorageType == Enums.StorageType.代发 && ocd.IsEnabled == true && ocd.SkuAmount == 0) + .Where((o, ods, ocd) => o.ShopId == 12897067 && o.OrderState != Enums.OrderState.已取消 && o.StartTime >= st && o.StartTime <= et && o.StorageType == Enums.StorageType.代发 && ocd.IsEnabled == true && ocd.SkuAmount == 0) .ToList((o, ods, ocd) => ods.PurchaseOrderId).Distinct().ToList(); for (var i = 0; i < list.Count; i++) From 77cc4205527d61a7a065de62938f806f93c0bbb2 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Sun, 17 Dec 2023 17:00:46 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A2=84=E4=BC=B0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sync/OrderEstimateCostSyncBusiness.cs | 3 +- .../Sync/OrderSyncBusiness.cs | 36 ++++++++++--------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs index 79c3370e..b5121092 100644 --- a/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs @@ -267,13 +267,14 @@ namespace BBWY.Server.Business { try { + var jcycStorageTypeList = new List() { Enums.StorageType.京仓, Enums.StorageType.云仓 }; var shopId = long.Parse(shop.ShopId); var orderList = fsql.Select().Where(o => o.ShopId == shopId && o.ModifyTime >= startTime && o.ModifyTime <= endTime && !invalidOrderStateList.Contains(o.OrderState) && o.IsGift == false && - o.StorageType == null && + (o.StorageType == null || jcycStorageTypeList.Contains(o.StorageType)) && !fsql.Select().Where(oc => oc.OrderId == o.Id).Any()) .ToList(); Console.WriteLine($"预估成本-{shop.ShopName},符合条件且没有成本的订单一共{orderList.Count()}个"); diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 6edcd567..bd5aab0b 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -915,23 +915,27 @@ namespace BBWY.Server.Business #endregion #region 计算成本 - orderCost = new OrderCost() + //当具备订单明细成本的时候,才为其创建订单成本 + if (insertOrderCostDetailList.Any(iocd => iocd.OrderId == orderId)) { - OrderId = orderId, - PlatformCommissionRatio = platformCommissionRatio, - PreferentialAmount = (dbOrderTotal?.TotalPingTaiChengDanYouHuiQuan) ?? dbOrder.PreferentialAmount, - Profit = 0, - PurchaseAmount = orderCostPurchaseAmount, - DeliveryExpressFreight = orderDeliveryExpressFreight, - CreateTime = DateTime.Now, - IsEstimateCost = false - }; - if (dbOrder.OrderTotalPrice != 0) - orderCost.CalculationOrderProfitAndCost(dbOrder, null); - else - orderCost.CalculationOrderProfitAndCost(actualAmount, null); - - insertOrderCostList.Add(orderCost); + orderCost = new OrderCost() + { + OrderId = orderId, + PlatformCommissionRatio = platformCommissionRatio, + PreferentialAmount = (dbOrderTotal?.TotalPingTaiChengDanYouHuiQuan) ?? dbOrder.PreferentialAmount, + Profit = 0, + PurchaseAmount = orderCostPurchaseAmount, + DeliveryExpressFreight = orderDeliveryExpressFreight, + CreateTime = DateTime.Now, + IsEstimateCost = false + }; + if (dbOrder.OrderTotalPrice != 0) + orderCost.CalculationOrderProfitAndCost(dbOrder, null); + else + orderCost.CalculationOrderProfitAndCost(actualAmount, null); + + insertOrderCostList.Add(orderCost); + } #endregion } } From 6970c012b58cfdeb5f387867f603ba345479d4c7 Mon Sep 17 00:00:00 2001 From: sanji Date: Mon, 18 Dec 2023 12:01:08 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E5=8F=91=E5=B8=83=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EvaluationAssistant/EvaluationAssistantBusiness.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs index 6e9250b3..9c5aca76 100644 --- a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs +++ b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs @@ -148,6 +148,13 @@ namespace BBWY.Server.Business #region 评价助手任务 public void AddOrEditPromotionTask(AddOrEditPromotionTaskRequest request) { + var shop = venderBusiness.GetShopList(request.ShopId).FirstOrDefault(); + if (shop == null) + throw new BusinessException("缺少店铺Id"); + var loggerName = $"评价助手-{shop.ShopName}"; + nLogManager.GetLogger(loggerName).Info($"发布任务-{JsonConvert.SerializeObject(request)}"); + + if (string.IsNullOrEmpty(request.MainProductSpu)) throw new BusinessException("缺少主商品SPU"); From 774a5854d63a19747647b1a15a60ea1f3e265665 Mon Sep 17 00:00:00 2001 From: sanji Date: Mon, 18 Dec 2023 13:44:25 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dskutitle=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlatformSDK/JDBusiness.cs | 49 ++++++++++++++----- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index 351acc47..e179ae9d 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -125,26 +125,49 @@ namespace BBWY.Server.Business private string GetSkuTitle(JToken s) { - var title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty; - if (!string.IsNullOrEmpty(title) && title.Contains("id") && title.Contains("value")) + if (s["saleAttrs"] == null) + throw new BusinessException($"{s["skuId"]}没有名字"); + StringBuilder titleBuilder = new StringBuilder(); + List attrValueAliasList = new List(); + + attrValueAliasList.AddRange(s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())); + /* + [{\"unit\":\"\",\"valueId\":\"1120738\",\"id\":8488,\"value\":\"手动\"},{\"unit\":\"个\",\"id\":8489,\"value\":\"30\"},{\"unit\":\"\",\"id\":8490,\"value\":\"大号M416火焰红\"}]-8弹壳+40软弹+复位标靶AWM软弹枪 + */ + + foreach (var attrValueAlias in attrValueAliasList) { - if (title.Contains("]-[")) + if (attrValueAlias.Contains("{") && attrValueAlias.Contains("}")) { - title = title.Replace("]-[", "]^["); - var titleArray = title.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries); - StringBuilder sb = new StringBuilder(); - foreach (var titleStr in titleArray) - { - sb.Append(string.Join("", JArray.Parse(titleStr).Select(j => $"{j.Value("value")}{j.Value("unit")}"))); - } - title = sb.ToString(); + titleBuilder.Append(string.Join(string.Empty, JArray.Parse(attrValueAlias).Select(j => $"{j.Value("value")}{j.Value("unit")}"))); } else { - title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value("value")}{j.Value("unit")}")); + titleBuilder.Append(attrValueAlias); } } - return title; + return titleBuilder.ToString(); + + //var title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty; + //if (!string.IsNullOrEmpty(title) && title.Contains("id") && title.Contains("value")) + //{ + // if (title.Contains("]-[")) + // { + // title = title.Replace("]-[", "]^["); + // var titleArray = title.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries); + // StringBuilder sb = new StringBuilder(); + // foreach (var titleStr in titleArray) + // { + // sb.Append(string.Join("", JArray.Parse(titleStr).Select(j => $"{j.Value("value")}{j.Value("unit")}"))); + // } + // title = sb.ToString(); + // } + // else + // { + // title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value("value")}{j.Value("unit")}")); + // } + //} + //return title; } public override IList GetProductSkuList(SearchProductSkuRequest searchProductSkuRequest) From 93351fdf06f3d8e016834ced41fb4c96b0b82bc8 Mon Sep 17 00:00:00 2001 From: sanji Date: Mon, 18 Dec 2023 16:39:37 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=BA=E5=B7=A5?= =?UTF-8?q?=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Db/PurchaseOrder/PurchaseOrder.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs index af005148..8738cd09 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs @@ -136,17 +136,23 @@ namespace BBWY.Server.Model.Db [Column(DbType = "decimal(20,2)")] public decimal SingleConsumableAmount { get; set; } = 0.00M; + ///// + ///// 单件仓储费 + ///// + //[Column(DbType = "decimal(20,2)")] + //public decimal SingleStorageAmount { get; set; } = 0.00M; + /// - /// 单件仓储费 + /// 单件销售运费(不参与均价计算) /// [Column(DbType = "decimal(20,2)")] - public decimal SingleStorageAmount { get; set; } = 0.00M; + public decimal SingleDeliveryFreight { get; set; } = 0.00M; /// - /// 单件销售运费(不参与均价计算) + /// 包装人工单价 /// [Column(DbType = "decimal(20,2)")] - public decimal SingleDeliveryFreight { get; set; } = 0.00M; + public decimal SinglePackagingLaborAmount { get; set; } = 0.00M; /// @@ -157,7 +163,7 @@ namespace BBWY.Server.Model.Db { get { - return SingleSkuAmount + SingleFreight + SingleFirstFreight + SingleInStorageAmount + SingleOutStorageAmount + SingleConsumableAmount + SingleStorageAmount; + return SingleSkuAmount + SingleFreight + SingleFirstFreight + SingleInStorageAmount + SingleOutStorageAmount + SingleConsumableAmount + SinglePackagingLaborAmount; } } } From 62b053ef9c38e25987ec0a014cbf968a85436f25 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Tue, 19 Dec 2023 00:02:21 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=BA=E5=B7=A5?= =?UTF-8?q?=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AfterSaleOrder/AfterSaleOrderBusiness.cs | 2 +- .../BillCorrection/BillCorrectionBusiness.cs | 6 +++-- BBWY.Server.Business/Order/OrderBusiness.cs | 20 +++++++++----- .../PurchaseOrder/PurchaseOrderBusiness.cs | 12 +++++---- .../ServiceOrder/ServiceOrderBusiness.cs | 2 +- .../Sync/OrderEstimateCostSyncBusiness.cs | 18 ++++++++----- .../Sync/OrderSyncBusiness.cs | 12 +++++---- BBWY.Server.Model/Db/Order/OrderCostDetail.cs | 18 ++++++++----- BBWY.Server.Model/Db/Order/SkuRecentCost.cs | 26 ++++++++++++------- .../Db/PurchaseOrder/PurchaseOrder.cs | 25 ++---------------- .../PurchaseOrder/AddPurchaseOrderRequest.cs | 19 +++++++++----- .../PurchaseOrder/EditPurchaseOrderRequest.cs | 19 +++++++++----- .../BillCorrectionOrderResponse.cs | 2 ++ .../Dto/Response/Order/ExportOrderResponse.cs | 10 +++---- 14 files changed, 106 insertions(+), 85 deletions(-) diff --git a/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs b/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs index 55518038..5660e79a 100644 --- a/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs +++ b/BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs @@ -170,7 +170,7 @@ namespace BBWY.Server.Business dbAfterSaleOrder.FirstFreight = dbOrderCostDetail.FirstFreight; dbAfterSaleOrder.ReissueProductAmount = dbOrderCostDetail.SkuAmount; dbAfterSaleOrder.ReissueFreight = dbOrderCostDetail.PurchaseFreight; - dbAfterSaleOrder.StorageAmount = dbOrderCostDetail.StorageAmount; + //dbAfterSaleOrder.StorageAmount = dbOrderCostDetail.StorageAmount; dbAfterSaleOrder.InStorageAmount = dbOrderCostDetail.InStorageAmount; dbAfterSaleOrder.OutStorageAmount = dbOrderCostDetail.OutStorageAmount; } diff --git a/BBWY.Server.Business/BillCorrection/BillCorrectionBusiness.cs b/BBWY.Server.Business/BillCorrection/BillCorrectionBusiness.cs index c7808e19..8d1b8d4a 100644 --- a/BBWY.Server.Business/BillCorrection/BillCorrectionBusiness.cs +++ b/BBWY.Server.Business/BillCorrection/BillCorrectionBusiness.cs @@ -68,7 +68,8 @@ namespace BBWY.Server.Business InStorageAmount = g.Sum(g.Value.Item1.InStorageAmount), OutStorageAmount = g.Sum(g.Value.Item1.OutStorageAmount), ConsumableAmount = g.Sum(g.Value.Item1.ConsumableAmount), - StorageAmount = g.Sum(g.Value.Item1.StorageAmount) + PackagingLaborAmount = g.Sum(g.Value.Item1.PackagingLaborAmount), + //StorageAmount = g.Sum(g.Value.Item1.StorageAmount) }); @@ -99,7 +100,8 @@ namespace BBWY.Server.Business order.InStorageAmount = orderCostDetail?.InStorageAmount ?? 0M; order.OutStorageAmount = orderCostDetail?.OutStorageAmount ?? 0M; order.ConsumableAmount = orderCostDetail?.ConsumableAmount ?? 0M; - order.StorageAmount = orderCostDetail?.StorageAmount ?? 0M; + order.PackagingLaborAmount = orderCostDetail?.PackagingLaborAmount ?? 0M; + //order.StorageAmount = orderCostDetail?.StorageAmount ?? 0M; order.AfterTotalCost = afterOrder?.AfterTotalCost ?? 0M; if (order.StorageType == Model.Enums.StorageType.SD) diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 9aee4593..5e33c722 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -54,7 +54,7 @@ namespace BBWY.Server.Business venderBusinessLazy = new Lazy(() => serviceProvider.GetService()); } - private ISelect GetOrderListQueryConditions(SearchOrderRequest searchOrderRequest) + private ISelect GetOrderListQueryConditions(SearchOrderRequest searchOrderRequest) { var select = fsql.Select().LeftJoin((o, ocs, oct, sh) => o.Id == ocs.OrderId) .LeftJoin((o, ocs, oct, sh) => o.Id == oct.OrderId) @@ -341,7 +341,8 @@ namespace BBWY.Server.Business OrderId = g.Key, SkuAmount = g.Sum(g.Value.SkuAmount), FirstFreight = g.Sum(g.Value.FirstFreight), - StorageAmount = g.Sum(g.Value.StorageAmount), + //StorageAmount = g.Sum(g.Value.StorageAmount), + PackagingLaborAmount = g.Sum(g.Value.PackagingLaborAmount), PurchaseFreight = g.Sum(g.Value.PurchaseFreight), ConsumableAmount = g.Sum(g.Value.ConsumableAmount), InStorageAmount = g.Sum(g.Value.InStorageAmount), @@ -360,7 +361,8 @@ namespace BBWY.Server.Business OrderId = g.Key, SkuAmount = g.Sum(g.Value.Item1.SkuAmount), FirstFreight = g.Sum(g.Value.Item1.FirstFreight), - StorageAmount = g.Sum(g.Value.Item1.StorageAmount), + //StorageAmount = g.Sum(g.Value.Item1.StorageAmount), + PackagingLaborAmount = g.Sum(g.Value.Item1.PackagingLaborAmount), PurchaseFreight = g.Sum(g.Value.Item1.PurchaseFreight), ConsumableAmount = g.Sum(g.Value.Item1.ConsumableAmount), InStorageAmount = g.Sum(g.Value.Item1.InStorageAmount), @@ -377,7 +379,8 @@ namespace BBWY.Server.Business order.FirstFreight = statistics?.FirstFreight ?? 0M; order.PurchaseSkuAmount = statistics?.SkuAmount ?? 0M; order.PurchaseFreight = statistics?.PurchaseFreight ?? 0M; - order.StorageAmount = statistics?.StorageAmount ?? 0M; + //order.StorageAmount = statistics?.StorageAmount ?? 0M; + order.PackagingLaborAmount = statistics?.PackagingLaborAmount ?? 0M; order.SkuIds = string.Join("|", orderSkuList.Where(osku => osku.OrderId == order.OrderId).Select(osku => osku.SkuId)); order.ProfitRatio = order.TotalCost == 0 ? 0 : Math.Round(order.Profit / order.TotalCost * 100, 2); order.ConsumableAmount = statistics?.ConsumableAmount ?? 0M; @@ -594,7 +597,8 @@ namespace BBWY.Server.Business //OperationAmount = purchaseOrder.SingleOperationAmount * deductionQuantity, PurchaseFreight = purchaseOrder.SingleFreight * deductionQuantity, SkuAmount = purchaseOrder.SingleSkuAmount * deductionQuantity, - StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity + //StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity + PackagingLaborAmount = purchaseOrder.SinglePackagingLaborAmount * deductionQuantity }; orderCostDetail.CalculationSkuGrossProfit(orderSku.ShouldPay ?? 0M, @@ -957,7 +961,8 @@ namespace BBWY.Server.Business //SingleOperationAmount = 0, SingleInStorageAmount = 0, SingleOutStorageAmount = 0, - SingleStorageAmount = 0, + SinglePackagingLaborAmount = 0M, + //SingleStorageAmount = 0, SingleSkuAmount = relationOrderSku.SingleSkuAmount, SingleDeliveryFreight = 0 }; @@ -981,7 +986,8 @@ namespace BBWY.Server.Business PurchaseFreight = odsRequest.PurchaseFreight / odsRequest.RelationPurchaseOrderSkuList.Count(), SkuAmount = relationOrderSku.SingleSkuAmount * relationOrderSku.Quantity, SkuId = relationOrderSku.SkuId, - StorageAmount = 0, + PackagingLaborAmount = 0, + //StorageAmount = 0, //TotalCost = relationOrderSku.SingleSkuAmount * relationOrderSku.Quantity + odsRequest.PurchaseFreight / odsRequest.RelationPurchaseOrderSkuList.Count(), //UnitCost = purchaseOrder.UnitCost, PurchaseOrderPKId = purchaseOrder.Id diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 4f6f7592..5ac3f230 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -94,9 +94,10 @@ namespace BBWY.Server.Business .Set(po => po.SingleFirstFreight, editPurchaseOrderRequest.SingleFirstFreight) .Set(po => po.SingleInStorageAmount, editPurchaseOrderRequest.SingleInStorageAmount) .Set(po => po.SingleOutStorageAmount, editPurchaseOrderRequest.SingleOutStorageAmount) - .Set(po => po.SingleRefundInStorageAmount, editPurchaseOrderRequest.SingleRefundInStorageAmount) + //.Set(po => po.SingleRefundInStorageAmount, editPurchaseOrderRequest.SingleRefundInStorageAmount) .Set(po => po.SingleConsumableAmount, editPurchaseOrderRequest.SingleConsumableAmount) - .Set(po => po.SingleStorageAmount, editPurchaseOrderRequest.SingleStorageAmount) + //.Set(po => po.SingleStorageAmount, editPurchaseOrderRequest.SingleStorageAmount) + .Set(po => po.SinglePackagingLaborAmount, editPurchaseOrderRequest.SinglePackagingLaborAmount) .Set(po => po.SingleDeliveryFreight, editPurchaseOrderRequest.SingleDeliveryFreight) .ExecuteAffrows(); } @@ -244,7 +245,8 @@ namespace BBWY.Server.Business SingleConsumableAmount = 0, SingleDeliveryFreight = 0, SingleFirstFreight = 0, - SingleStorageAmount = 0, + SinglePackagingLaborAmount = 0, + //SingleStorageAmount = 0, //SingleOperationAmount = 0, SingleOutStorageAmount = 0, SingleInStorageAmount = 0, @@ -285,8 +287,8 @@ namespace BBWY.Server.Business PurchaseOrderPKId = purchaseOrder.Id, SkuAmount = currentOrderSkuProductAmount, SkuId = orderSku.SkuId, - StorageAmount = 0, - IsEstimateCost = false + //StorageAmount = 0, + IsEstimateCost = false, //UnitCost = purchaseOrder.UnitCost, //TotalCost = currentOrderSkuProductAmount + currentOrderSkuFreightAmount//purchaseOrder.UnitCost * orderSku.ItemTotal.Value }; diff --git a/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs b/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs index 44fd5375..a917172d 100644 --- a/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs +++ b/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs @@ -148,7 +148,7 @@ namespace BBWY.Server.Business dbso.FirstFreight = dbOrderCostDetail.FirstFreight; dbso.ReissueProductAmount = dbOrderCostDetail.SkuAmount; dbso.ReissueFreight = dbOrderCostDetail.PurchaseFreight; - dbso.StorageAmount = dbOrderCostDetail.StorageAmount; + //dbso.StorageAmount = dbOrderCostDetail.StorageAmount; dbso.InStorageAmount = dbOrderCostDetail.InStorageAmount; dbso.OutStorageAmount = dbOrderCostDetail.OutStorageAmount; } diff --git a/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs index b5121092..acd8133d 100644 --- a/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderEstimateCostSyncBusiness.cs @@ -105,7 +105,8 @@ namespace BBWY.Server.Business var singleInStorageAmount = yesocd.InStorageAmount / q; var singleOutStorageAmount = yesocd.OutStorageAmount / q; var singleSkuAmount = yesocd.SkuAmount / q; - var singleStorageAmount = yesocd.StorageAmount / q; + //var singleStorageAmount = yesocd.StorageAmount / q; + var singlePackagingLaborAmount = yesocd.PackagingLaborAmount / q; var skuRecentCost = dbSkuRecentCostList.FirstOrDefault(x => x.SkuId == yesocd.SkuId); if (skuRecentCost != null) @@ -117,7 +118,8 @@ namespace BBWY.Server.Business skuRecentCost.SingleInStorageAmount != singleInStorageAmount || skuRecentCost.SingleOutStorageAmount != singleOutStorageAmount || skuRecentCost.SingleSkuAmount != singleSkuAmount || - skuRecentCost.SingleStorageAmount != singleStorageAmount) + skuRecentCost.SinglePackagingLaborAmount != singlePackagingLaborAmount) + //skuRecentCost.SingleStorageAmount != singleStorageAmount) { skuRecentCost.UpdateTime = DateTime.Now; var update = fsql.Update(yesocd.SkuId) @@ -128,7 +130,8 @@ namespace BBWY.Server.Business .SetIf(skuRecentCost.SingleInStorageAmount != singleInStorageAmount, s => s.SingleInStorageAmount, singleInStorageAmount) .SetIf(skuRecentCost.SingleOutStorageAmount != singleOutStorageAmount, s => s.SingleOutStorageAmount, singleOutStorageAmount) .SetIf(skuRecentCost.SingleSkuAmount != singleSkuAmount, s => s.SingleSkuAmount, singleSkuAmount) - .SetIf(skuRecentCost.SingleStorageAmount != singleStorageAmount, s => s.SingleStorageAmount, singleStorageAmount) + //.SetIf(skuRecentCost.SingleStorageAmount != singleStorageAmount, s => s.SingleStorageAmount, singleStorageAmount) + .SetIf(skuRecentCost.SinglePackagingLaborAmount != singlePackagingLaborAmount, s => s.SinglePackagingLaborAmount, singlePackagingLaborAmount) .Set(s => s.UpdateTime, DateTime.Now); updateSkuRecentCostList.Add(update); } @@ -150,7 +153,8 @@ namespace BBWY.Server.Business SingleInStorageAmount = singleInStorageAmount, SingleOutStorageAmount = singleOutStorageAmount, SingleSkuAmount = singleSkuAmount, - SingleStorageAmount = singleStorageAmount + SinglePackagingLaborAmount = singlePackagingLaborAmount + //SingleStorageAmount = singleStorageAmount }; insertSkuRecetCostList.Add(skuRecentCost); } @@ -310,7 +314,8 @@ namespace BBWY.Server.Business src.SingleFreight, src.SingleInStorageAmount, src.SingleOutStorageAmount, - src.SingleStorageAmount + src.SinglePackagingLaborAmount + //src.SingleStorageAmount }); foreach (var order in orderList) { @@ -340,7 +345,8 @@ namespace BBWY.Server.Business PurchaseOrderPKId = 0, SkuAmount = (osku.SingleSkuAmount * osku.ItemTotal) ?? 0M, SkuId = osku.SkuId, - StorageAmount = (osku.SingleStorageAmount * osku.ItemTotal) ?? 0M, + //StorageAmount = (osku.SingleStorageAmount * osku.ItemTotal) ?? 0M, + PackagingLaborAmount = (osku.SinglePackagingLaborAmount * osku.ItemTotal) ?? 0M, IsEnabled = true, IsEstimateCost = true }; diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index bd5aab0b..5445605e 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -106,7 +106,7 @@ namespace BBWY.Server.Business var relayAPIHost = GetPlatformRelayAPIHost(shop.PlatformId); var orderListApiResult = restApiService.SendRequest(relayAPIHost, "api/PlatformSDK/GetOrderList", new SearchPlatformOrderRequest() { - StartDate = startTime ?? DateTime.Now.AddHours(shop.ShopName.Contains("腾奇") ? -0.5 : -3), + StartDate = startTime ?? DateTime.Now.AddHours(-3), EndDate = endTime ?? DateTime.Now, AppKey = shop.AppKey, AppSecret = shop.AppSecret, @@ -142,9 +142,9 @@ namespace BBWY.Server.Business { //if (fsql.Select().Where(ost => ost.ShopId == syncOrderByDateRequest.ShopId && ost.State == Enums.OrderSyncState.Running).Any()) // throw new BusinessException("存在未结束的同步任务,请稍后同步"); - //syncOrderByDateRequest.EndTime = syncOrderByDateRequest.EndTime.Date.AddDays(1).AddSeconds(-1); - //if ((syncOrderByDateRequest.EndTime - syncOrderByDateRequest.StartTime).Days > 7) - // throw new BusinessException("同步任务时差最长7天"); + syncOrderByDateRequest.EndTime = syncOrderByDateRequest.EndTime.Date.AddDays(1).AddSeconds(-1); + if ((syncOrderByDateRequest.EndTime - syncOrderByDateRequest.StartTime).Days > 7) + throw new BusinessException("同步任务时差最长7天"); var orderSyncTask = new OrderSyncTask() { @@ -886,7 +886,8 @@ namespace BBWY.Server.Business OutStorageAmount = purchaseOrder.SingleOutStorageAmount * deductionQuantity, PurchaseFreight = purchaseOrder.SingleFreight * deductionQuantity, SkuAmount = purchaseOrder.SingleSkuAmount * deductionQuantity, - StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity, + //StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity, + PackagingLaborAmount = purchaseOrder.SinglePackagingLaborAmount * deductionQuantity, IsEnabled = true, IsEstimateCost = false }; @@ -1109,6 +1110,7 @@ namespace BBWY.Server.Business public void SyncAllShopOrder() { var shopList = venderBusiness.GetShopList(platform: Enums.Platform.京东); + //var a = shopList.FirstOrDefault(s => s.ShopName == "创艺家居日用专营店"); foreach (var shop in shopList) { Task.Factory.StartNew(() => SyncOrder(shop, string.Empty, isAuto: true), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); diff --git a/BBWY.Server.Model/Db/Order/OrderCostDetail.cs b/BBWY.Server.Model/Db/Order/OrderCostDetail.cs index 84f89adb..e2f4c552 100644 --- a/BBWY.Server.Model/Db/Order/OrderCostDetail.cs +++ b/BBWY.Server.Model/Db/Order/OrderCostDetail.cs @@ -90,11 +90,11 @@ namespace BBWY.Server.Model.Db [Column(DbType = "decimal(20,2)")] public decimal ConsumableAmount { get; set; } = 0.00M; - /// - /// 仓储费 - /// - [Column(DbType = "decimal(20,2)")] - public decimal StorageAmount { get; set; } = 0.00M; + ///// + ///// 仓储费 + ///// + //[Column(DbType = "decimal(20,2)")] + //public decimal StorageAmount { get; set; } = 0.00M; [Column(DbType = "bit")] public bool IsEnabled { get; set; } = true; @@ -105,6 +105,12 @@ namespace BBWY.Server.Model.Db [Column(DbType = "decimal(20,2)")] public decimal SkuGrossProfit { get; set; } = 0.00M; + /// + /// 包装人工费 + /// + [Column(DbType = "decimal(20,2)")] + public decimal PackagingLaborAmount { get; set; } = 0.00M; + /// /// 总计(不含发货运费) /// @@ -113,7 +119,7 @@ namespace BBWY.Server.Model.Db { get { - return SkuAmount + PurchaseFreight + FirstFreight + InStorageAmount + OutStorageAmount + StorageAmount + ConsumableAmount; + return SkuAmount + PurchaseFreight + FirstFreight + InStorageAmount + OutStorageAmount + PackagingLaborAmount + ConsumableAmount; } } diff --git a/BBWY.Server.Model/Db/Order/SkuRecentCost.cs b/BBWY.Server.Model/Db/Order/SkuRecentCost.cs index 3950d1ec..eb3cea6b 100644 --- a/BBWY.Server.Model/Db/Order/SkuRecentCost.cs +++ b/BBWY.Server.Model/Db/Order/SkuRecentCost.cs @@ -68,11 +68,11 @@ namespace BBWY.Server.Model.Db [Column(DbType = "decimal(20,2)")] public decimal? SingleOutStorageAmount { get; set; } = 0.00M; - /// - /// 退货入仓操作费(单件) - /// - [Column(DbType = "decimal(20,2)")] - public decimal? SingleRefundInStorageAmount { get; set; } = 0.00M; + ///// + ///// 退货入仓操作费(单件) + ///// + //[Column(DbType = "decimal(20,2)")] + //public decimal? SingleRefundInStorageAmount { get; set; } = 0.00M; /// /// SKU成本(单件) @@ -80,15 +80,21 @@ namespace BBWY.Server.Model.Db [Column(DbType = "decimal(20,2)")] public decimal? SingleSkuAmount { get; set; } - /// - /// 仓储费(单件) - /// - [Column(DbType = "decimal(20,2)")] - public decimal? SingleStorageAmount { get; set; } = 0.00M; + ///// + ///// 仓储费(单件) + ///// + //[Column(DbType = "decimal(20,2)")] + //public decimal? SingleStorageAmount { get; set; } = 0.00M; [Column(DbType = "datetime")] public DateTime? UpdateTime { get; set; } + /// + /// 包装人工单价 + /// + [Column(DbType = "decimal(20,2)")] + public decimal SinglePackagingLaborAmount { get; set; } = 0.00M; + } } diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs index 8738cd09..f7ddaaf5 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrder.cs @@ -17,29 +17,13 @@ namespace BBWY.Server.Model.Db [Column(DbType = "datetime")] public DateTime? CreateTime { get; set; } - /// - /// 头程运费 - /// - //[Column(DbType = "decimal(20,2)")] - //public decimal FirstFreight { get; set; } = 0.00M; - - /// - /// 采购运费 - /// - //[Column(DbType = "decimal(20,2)")] - //public decimal Freight { get; set; } = 0.00M; - + /// /// 产品Id /// [Column(StringLength = 50)] public string ProductId { get; set; } - /// - /// 采购金额 - /// - //[Column(DbType = "decimal(20,2)")] - //public decimal PurchaseAmount { get; set; } = 0.00M; /// /// 采购方式 @@ -106,11 +90,6 @@ namespace BBWY.Server.Model.Db [Column(DbType = "decimal(20,2)")] public decimal SingleFirstFreight { get; set; } = 0.00M; - /// - /// 单件操作费 - /// - //[Column(DbType = "decimal(20,2)")] - //public decimal SingleOperationAmount { get; set; } = 0.00M; /// /// 单件入仓操作费 @@ -143,7 +122,7 @@ namespace BBWY.Server.Model.Db //public decimal SingleStorageAmount { get; set; } = 0.00M; /// - /// 单件销售运费(不参与均价计算) + /// 单件销售(尾程)运费(不参与均价计算) /// [Column(DbType = "decimal(20,2)")] public decimal SingleDeliveryFreight { get; set; } = 0.00M; diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrder/AddPurchaseOrderRequest.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrder/AddPurchaseOrderRequest.cs index e1721e81..0f635a21 100644 --- a/BBWY.Server.Model/Dto/Request/PurchaseOrder/AddPurchaseOrderRequest.cs +++ b/BBWY.Server.Model/Dto/Request/PurchaseOrder/AddPurchaseOrderRequest.cs @@ -60,13 +60,13 @@ /// public decimal SingleConsumableAmount { get; set; } = 0.00M; - /// - /// 单件仓储费 - /// - public decimal SingleStorageAmount { get; set; } + ///// + ///// 单件仓储费 + ///// + //public decimal SingleStorageAmount { get; set; } /// - /// 单件销售运费(不参与均价计算) + /// 单件尾程销售运费(不参与均价计算) /// public decimal SingleDeliveryFreight { get; set; } @@ -82,8 +82,13 @@ public decimal SingleOutStorageAmount { get; set; } = 0.00M; /// - /// 退货入仓操作费 + /// 单间包装人工费 /// - public decimal SingleRefundInStorageAmount { get; set; } = 0.00M; + public decimal SinglePackagingLaborAmount { get; set; } = 0.00M; + + ///// + ///// 退货入仓操作费 + ///// + //public decimal SingleRefundInStorageAmount { get; set; } = 0.00M; } } diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrder/EditPurchaseOrderRequest.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrder/EditPurchaseOrderRequest.cs index 1c021027..a12e0ca5 100644 --- a/BBWY.Server.Model/Dto/Request/PurchaseOrder/EditPurchaseOrderRequest.cs +++ b/BBWY.Server.Model/Dto/Request/PurchaseOrder/EditPurchaseOrderRequest.cs @@ -34,13 +34,13 @@ /// public decimal SingleConsumableAmount { get; set; } = 0.00M; - /// - /// 单件仓储费 - /// - public decimal SingleStorageAmount { get; set; } = 0.00M; + ///// + ///// 单件仓储费 + ///// + //public decimal SingleStorageAmount { get; set; } = 0.00M; /// - /// 单件销售运费(不参与均价计算) + /// 单件尾程销售运费(不参与均价计算) /// public decimal SingleDeliveryFreight { get; set; } = 0.00M; @@ -56,8 +56,13 @@ public decimal SingleOutStorageAmount { get; set; } = 0.00M; /// - /// 退货入仓费 + /// 单间包装人工费 /// - public decimal SingleRefundInStorageAmount { get; set; } = 0.00M; + public decimal SinglePackagingLaborAmount { get; set; } = 0.00M; + + ///// + ///// 退货入仓费 + ///// + //public decimal SingleRefundInStorageAmount { get; set; } = 0.00M; } } \ No newline at end of file diff --git a/BBWY.Server.Model/Dto/Response/BillCorrection/BillCorrectionOrderResponse.cs b/BBWY.Server.Model/Dto/Response/BillCorrection/BillCorrectionOrderResponse.cs index 2cdae37c..b0bf323b 100644 --- a/BBWY.Server.Model/Dto/Response/BillCorrection/BillCorrectionOrderResponse.cs +++ b/BBWY.Server.Model/Dto/Response/BillCorrection/BillCorrectionOrderResponse.cs @@ -61,6 +61,8 @@ namespace BBWY.Server.Model.Dto /// public decimal ConsumableAmount { get; set; } = 0.00M; + public decimal PackagingLaborAmount { get; set; } = 0.00M; + /// /// 仓储费 /// diff --git a/BBWY.Server.Model/Dto/Response/Order/ExportOrderResponse.cs b/BBWY.Server.Model/Dto/Response/Order/ExportOrderResponse.cs index 2ace70b3..d92d8ee4 100644 --- a/BBWY.Server.Model/Dto/Response/Order/ExportOrderResponse.cs +++ b/BBWY.Server.Model/Dto/Response/Order/ExportOrderResponse.cs @@ -32,11 +32,6 @@ namespace BBWY.Server.Model.Dto /// public decimal FirstFreight { get; set; } - /// - /// 仓储费 - /// - public decimal StorageAmount { get; set; } - /// /// 发货快递费 /// @@ -94,6 +89,11 @@ namespace BBWY.Server.Model.Dto /// public decimal ConsumableAmount { get; set; } + /// + /// 人工打包费 + /// + public decimal PackagingLaborAmount { get; set; } + /// /// 入仓操作费 /// From 15a39883436ba6f1e60184385296d48ae8fbc833 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Tue, 19 Dec 2023 00:39:35 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E6=89=8B=E5=8A=A8=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E6=88=90=E6=9C=AC=E5=A2=9E=E5=8A=A0=E5=8C=85=E8=A3=85=E4=BA=BA?= =?UTF-8?q?=E5=B7=A5=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Request/Order/ManualCalculationCostRequest.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/BBWY.Server.Model/Dto/Request/Order/ManualCalculationCostRequest.cs b/BBWY.Server.Model/Dto/Request/Order/ManualCalculationCostRequest.cs index 7db49a37..8b65b12e 100644 --- a/BBWY.Server.Model/Dto/Request/Order/ManualCalculationCostRequest.cs +++ b/BBWY.Server.Model/Dto/Request/Order/ManualCalculationCostRequest.cs @@ -63,12 +63,18 @@ namespace BBWY.Server.Model.Dto /// public decimal ConsumableAmount { get; set; } = 0.00M; + ///// + ///// 仓储费 + ///// + //public decimal StorageAmount { get; set; } = 0.00M; + /// - /// 仓储费 + /// 打包费 /// - public decimal StorageAmount { get; set; } = 0.00M; + public decimal PackagingLaborAmount { get; set; } = 0.00M; + - public decimal TotalCost { get; set; } = 0M; + public decimal TotalCost { get; set; } = 0M; public decimal UnitCost { get; set; } = 0M; } From abbbec1e7433cc9ad95fc4b7b0abfa77cf7cbde4 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Tue, 19 Dec 2023 02:34:03 +0800 Subject: [PATCH 11/19] 10224 --- BBWY.Client/APIServices/OrderService.cs | 3 +- BBWY.Client/GlobalContext.cs | 2 +- .../BillCorrectionOrderResponse.cs | 9 +- .../Response/Order/ExportOrderResponse.cs | 13 ++- .../Response/Order/OrderCostDetailResponse.cs | 9 +- .../PurchaseOrder/PurchaseOrderResponse.cs | 9 +- .../BillCorrection/BillCorrectionOrder.cs | 9 +- .../Models/Order/ManualEditCostOrderSku.cs | 59 +++++++--- .../Models/PurchaseOrder/PurchaseOrder.cs | 39 ++++--- .../ViewModels/Order/OrderListViewModel.cs | 8 +- .../BillCorrection/BillCorrectionView.xaml | 10 +- .../Views/Order/ManualCalculationCost.xaml | 10 +- BBWY.Client/Views/Order/OrderListControl.xaml | 8 +- BBWY.Client/Views/Ware/WareStock.xaml | 104 ++++++++++-------- .../Sync/OrderSyncBusiness.cs | 4 +- 15 files changed, 188 insertions(+), 108 deletions(-) diff --git a/BBWY.Client/APIServices/OrderService.cs b/BBWY.Client/APIServices/OrderService.cs index 1021ba78..8baa7196 100644 --- a/BBWY.Client/APIServices/OrderService.cs +++ b/BBWY.Client/APIServices/OrderService.cs @@ -126,7 +126,8 @@ namespace BBWY.Client.APIServices osku.PurchaseFreight, osku.ProductId, osku.SkuAmount, - osku.StorageAmount, + //osku.StorageAmount, + osku.PackagingLaborAmount, osku.TotalCost, osku.UnitCost }), diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index 11a4832b..f06b0ec5 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10223"; + ClientVersion = "10224"; } diff --git a/BBWY.Client/Models/APIModel/Response/BillCorrection/BillCorrectionOrderResponse.cs b/BBWY.Client/Models/APIModel/Response/BillCorrection/BillCorrectionOrderResponse.cs index 42cea562..16bf3ce8 100644 --- a/BBWY.Client/Models/APIModel/Response/BillCorrection/BillCorrectionOrderResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/BillCorrection/BillCorrectionOrderResponse.cs @@ -61,10 +61,15 @@ namespace BBWY.Client.Models /// public decimal ConsumableAmount { get; set; } = 0.00M; + ///// + ///// 仓储费 + ///// + //public decimal StorageAmount { get; set; } = 0.00M; + /// - /// 仓储费 + /// 包装人工费 /// - public decimal StorageAmount { get; set; } = 0.00M; + public decimal PackagingLaborAmount { get; set; } = 0.00M; /// /// 售后费用 diff --git a/BBWY.Client/Models/APIModel/Response/Order/ExportOrderResponse.cs b/BBWY.Client/Models/APIModel/Response/Order/ExportOrderResponse.cs index d8fe471d..f660405d 100644 --- a/BBWY.Client/Models/APIModel/Response/Order/ExportOrderResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/Order/ExportOrderResponse.cs @@ -37,10 +37,15 @@ namespace BBWY.Client.Models /// public decimal FirstFreight { get; set; } + ///// + ///// 仓储费 + ///// + //public decimal StorageAmount { get; set; } + /// - /// 仓储费 + /// 包装人工费 /// - public decimal StorageAmount { get; set; } + public decimal PackagingLaborAmount { get; set; } /// /// 发货快递费 @@ -111,8 +116,8 @@ namespace BBWY.Client.Models public override string ToString() { - //日期,店铺订单号,SKU编码,订单状态,仓储类型,代发下单单号,售价,商品成本,采购运费,头程费用,仓储服务费,快递费,耗材费,入仓操作费,出仓操作费,刷单/空单号费,平台扣点,补差金额,应付金额,实收金额,利润,利润率,收件人联系方式,商家备注,售后类型,售后与特殊情况备注 - return $"{OrderStartTime:yyyy-MM-dd HH:mm:ss},{OrderId},{SkuIds},{OrderState},{StorageType},{PurchaseOrderIds},{OrderTotalPrice},{PurchaseSkuAmount},{PurchaseFreight},{FirstFreight},{StorageAmount},{DeliveryExpressFreight},{ConsumableAmount},{InStorageAmount},{OutStorageAmount},{SDOrderAmount},{PlatformCommissionAmount},{FreightPrice},{OrderPayment},{ActualAmount},{Profit},{ProfitRatio},{ConsigneeStr},{VenderRemark}"; + //日期,店铺订单号,SKU编码,订单状态,仓储类型,代发下单单号,售价,商品成本,采购运费,头程费用,包装人工费,快递费,耗材费,入仓操作费,出仓操作费,刷单/空单号费,平台扣点,补差金额,应付金额,实收金额,利润,利润率,收件人联系方式,商家备注,售后类型,售后与特殊情况备注 + return $"{OrderStartTime:yyyy-MM-dd HH:mm:ss},{OrderId},{SkuIds},{OrderState},{StorageType},{PurchaseOrderIds},{OrderTotalPrice},{PurchaseSkuAmount},{PurchaseFreight},{FirstFreight},{PackagingLaborAmount},{DeliveryExpressFreight},{ConsumableAmount},{InStorageAmount},{OutStorageAmount},{SDOrderAmount},{PlatformCommissionAmount},{FreightPrice},{OrderPayment},{ActualAmount},{Profit},{ProfitRatio},{ConsigneeStr},{VenderRemark}"; } } } diff --git a/BBWY.Client/Models/APIModel/Response/Order/OrderCostDetailResponse.cs b/BBWY.Client/Models/APIModel/Response/Order/OrderCostDetailResponse.cs index 3084f87a..23cf929a 100644 --- a/BBWY.Client/Models/APIModel/Response/Order/OrderCostDetailResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/Order/OrderCostDetailResponse.cs @@ -70,10 +70,15 @@ namespace BBWY.Client.Models /// public decimal ConsumableAmount { get; set; } = 0.00M; + ///// + ///// 仓储费 + ///// + //public decimal StorageAmount { get; set; } = 0.00M; + /// - /// 仓储费 + /// 包装人工费 /// - public decimal StorageAmount { get; set; } = 0.00M; + public decimal PackagingLaborAmount { get; set; } = 0.00M; /// /// 总计(不含销售运费 历史遗留) diff --git a/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseOrderResponse.cs b/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseOrderResponse.cs index 6464e3f5..79400e9f 100644 --- a/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseOrderResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseOrderResponse.cs @@ -55,10 +55,15 @@ namespace BBWY.Client.Models /// public decimal SingleConsumableAmount { get; set; } = 0.00M; + ///// + ///// 单件仓储费 + ///// + //public decimal SingleStorageAmount { get; set; } = 0.00M; + /// - /// 单件仓储费 + /// 包装人工费 /// - public decimal SingleStorageAmount { get; set; } = 0.00M; + public decimal SinglePackagingLaborAmount { get; set; } = 0.00M; /// /// 单件Sku成本 diff --git a/BBWY.Client/Models/BillCorrection/BillCorrectionOrder.cs b/BBWY.Client/Models/BillCorrection/BillCorrectionOrder.cs index 9b69e50d..8e25abec 100644 --- a/BBWY.Client/Models/BillCorrection/BillCorrectionOrder.cs +++ b/BBWY.Client/Models/BillCorrection/BillCorrectionOrder.cs @@ -65,10 +65,15 @@ namespace BBWY.Client.Models /// public decimal ConsumableAmount { get; set; } = 0.00M; + ///// + ///// 仓储费 + ///// + //public decimal StorageAmount { get; set; } = 0.00M; + /// - /// 仓储费 + /// 包装人工费 /// - public decimal StorageAmount { get; set; } = 0.00M; + public decimal PackagingLaborAmount { get; set; }=0.00M; /// /// 售后费用 diff --git a/BBWY.Client/Models/Order/ManualEditCostOrderSku.cs b/BBWY.Client/Models/Order/ManualEditCostOrderSku.cs index c46023fc..8d93bb51 100644 --- a/BBWY.Client/Models/Order/ManualEditCostOrderSku.cs +++ b/BBWY.Client/Models/Order/ManualEditCostOrderSku.cs @@ -46,11 +46,14 @@ namespace BBWY.Client.Models private decimal consumableAmount; private string consumableAmountStr; - /// - /// 仓储费 - /// - private decimal storageAmount; - private string storageAmountStr; + ///// + ///// 仓储费 + ///// + //private decimal storageAmount; + //private string storageAmountStr; + + private decimal packagingLaborAmount; + private string packagingLaborAmountStr; /// /// 总计(不含发货运费) @@ -100,7 +103,7 @@ namespace BBWY.Client.Models public decimal PurchaseFreight { get => purchaseFreight; set { if (Set(ref purchaseFreight, value)) { CalculationCost(); } } } public decimal FirstFreight { get => firstFreight; set { if (Set(ref firstFreight, value)) { CalculationCost(); } } } public decimal ConsumableAmount { get => consumableAmount; set { if (Set(ref consumableAmount, value)) { CalculationCost(); } } } - public decimal StorageAmount { get => storageAmount; set { if (Set(ref storageAmount, value)) { CalculationCost(); } } } + //public decimal StorageAmount { get => storageAmount; set { if (Set(ref storageAmount, value)) { CalculationCost(); } } } public decimal TotalCost { get => totalCost; set @@ -114,7 +117,7 @@ namespace BBWY.Client.Models private void CalculationCost() { - TotalCost = SkuAmount + PurchaseFreight + FirstFreight + InStorageAmount + OutStorageAmount + ConsumableAmount + StorageAmount; + TotalCost = SkuAmount + PurchaseFreight + FirstFreight + InStorageAmount + OutStorageAmount + ConsumableAmount + PackagingLaborAmount; UnitCost = ItemTotal == 0 ? 0 : TotalCost / ItemTotal; } @@ -164,17 +167,17 @@ namespace BBWY.Client.Models } } } - public string StorageAmountStr - { - get => storageAmountStr; set - { - if (Set(ref storageAmountStr, value)) - { - if (decimal.TryParse(storageAmountStr, out decimal d)) - StorageAmount = d; - } - } - } + //public string StorageAmountStr + //{ + // get => storageAmountStr; set + // { + // if (Set(ref storageAmountStr, value)) + // { + // if (decimal.TryParse(storageAmountStr, out decimal d)) + // StorageAmount = d; + // } + // } + //} public string DeliveryExpressFreightStr { @@ -225,5 +228,25 @@ namespace BBWY.Client.Models OutStorageAmount = d; } } + + public decimal PackagingLaborAmount + { + get => packagingLaborAmount; + set + { + if (Set(ref packagingLaborAmount, value)) + CalculationCost(); + } + } + public string PackagingLaborAmountStr + { + get => packagingLaborAmountStr; + set + { + if (Set(ref packagingLaborAmountStr, value)) + if (decimal.TryParse(packagingLaborAmountStr, out decimal d)) + packagingLaborAmount = d; + } + } } } diff --git a/BBWY.Client/Models/PurchaseOrder/PurchaseOrder.cs b/BBWY.Client/Models/PurchaseOrder/PurchaseOrder.cs index 9c104a07..ffe017b4 100644 --- a/BBWY.Client/Models/PurchaseOrder/PurchaseOrder.cs +++ b/BBWY.Client/Models/PurchaseOrder/PurchaseOrder.cs @@ -119,18 +119,18 @@ namespace BBWY.Client.Models } } - /// - /// 单件仓储费 - /// - public decimal SingleStorageAmount - { - get => singleStorageAmount; - set - { - if (Set(ref singleStorageAmount, value)) - RefreshUnitCost(); - } - } + ///// + ///// 单件仓储费 + ///// + //public decimal SingleStorageAmount + //{ + // get => singleStorageAmount; + // set + // { + // if (Set(ref singleStorageAmount, value)) + // RefreshUnitCost(); + // } + //} public decimal SingleInStorageAmount { @@ -153,9 +153,19 @@ namespace BBWY.Client.Models public decimal SingleRefundInStorageAmount { get => singleRefundInStorageAmount; set { Set(ref singleRefundInStorageAmount, value); } } + public decimal SinglePackagingLaborAmount + { + get => singlePackagingLaborAmount; + set + { + if (Set(ref singlePackagingLaborAmount, value)) + RefreshUnitCost(); + } + } + public void RefreshUnitCost() { - UnitCost = SingleSkuAmount + SingleFreight + SingleFirstFreight + SingleInStorageAmount + SingleOutStorageAmount + SingleConsumableAmount + SingleStorageAmount; + UnitCost = SingleSkuAmount + SingleFreight + SingleFirstFreight + SingleInStorageAmount + SingleOutStorageAmount + SingleConsumableAmount + SinglePackagingLaborAmount; } private bool isEdit; @@ -168,7 +178,8 @@ namespace BBWY.Client.Models private decimal singleDeliveryFreight; //private decimal singleOperationAmount; private decimal singleConsumableAmount; - private decimal singleStorageAmount; + //private decimal singleStorageAmount; + private decimal singlePackagingLaborAmount; private decimal singleInStorageAmount; private decimal singleOutStorageAmount; private decimal singleRefundInStorageAmount; diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index dcf743a0..b62f6348 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -811,7 +811,8 @@ namespace BBWY.Client.ViewModels manualEditCostOrderSku.OutStorageAmount = orderCostDetailList.Sum(ocd => ocd.OutStorageAmount); manualEditCostOrderSku.PurchaseFreight = orderCostDetailList.Sum(ocd => ocd.PurchaseFreight); manualEditCostOrderSku.SkuAmount = orderCostDetailList.Sum(ocd => ocd.SkuAmount); - manualEditCostOrderSku.StorageAmount = orderCostDetailList.Sum(ocd => ocd.StorageAmount); + //manualEditCostOrderSku.StorageAmount = orderCostDetailList.Sum(ocd => ocd.StorageAmount); + manualEditCostOrderSku.PackagingLaborAmount = orderCostDetailList.Sum(ocd => ocd.PackagingLaborAmount); manualEditCostOrderSku.TotalCost = orderCostDetailList.Sum(ocd => ocd.TotalCost); manualEditCostOrderSku.UnitCost = orderCostDetailList.FirstOrDefault().UnitCost; } @@ -823,7 +824,8 @@ namespace BBWY.Client.ViewModels manualEditCostOrderSku.OutStorageAmountStr = manualEditCostOrderSku.OutStorageAmount.ToString(); manualEditCostOrderSku.PurchaseFreightStr = manualEditCostOrderSku.PurchaseFreight.ToString(); manualEditCostOrderSku.SkuAmountStr = manualEditCostOrderSku.SkuAmount.ToString(); - manualEditCostOrderSku.StorageAmountStr = manualEditCostOrderSku.StorageAmount.ToString(); + //manualEditCostOrderSku.StorageAmountStr = manualEditCostOrderSku.StorageAmount.ToString(); + manualEditCostOrderSku.PackagingLaborAmountStr = manualEditCostOrderSku.PackagingLaborAmount.ToString(); } var manualCalculationCost = new ManualCalculationCost(orderId, isSetStorageType, storageType, orderSkuList); @@ -990,7 +992,7 @@ namespace BBWY.Client.ViewModels try { var list = r.Data.Select(x => x.ToString()).ToList(); - list.Insert(0, "日期,店铺订单号,SKU编码,订单状态,仓储类型,代发下单单号,售价,商品成本,采购运费,头程费用,仓储服务费,快递费,耗材费,入仓操作费,出仓操作费,刷单/空单号费,平台扣点,补差金额,应付金额,实收金额,利润,利润率,收件人联系方式,商家备注,售后类型,售后与特殊情况备注"); + list.Insert(0, "日期,店铺订单号,SKU编码,订单状态,仓储类型,代发下单单号,售价,商品成本,采购运费,头程费用,包装人工费,快递费,耗材费,入仓操作费,出仓操作费,刷单/空单号费,平台扣点,补差金额,应付金额,实收金额,利润,利润率,收件人联系方式,商家备注,售后类型,售后与特殊情况备注"); System.IO.File.WriteAllLines(ssaveFileName, list, Encoding.UTF8); App.Current.Dispatcher.Invoke(() => MessageBox.Show("导出完成", "导出")); } diff --git a/BBWY.Client/Views/BillCorrection/BillCorrectionView.xaml b/BBWY.Client/Views/BillCorrection/BillCorrectionView.xaml index e26f51e6..95e0635c 100644 --- a/BBWY.Client/Views/BillCorrection/BillCorrectionView.xaml +++ b/BBWY.Client/Views/BillCorrection/BillCorrectionView.xaml @@ -219,15 +219,15 @@ ElementStyle="{StaticResource verticalCenterTextBlock}"/> - - - - - diff --git a/BBWY.Client/Views/Order/ManualCalculationCost.xaml b/BBWY.Client/Views/Order/ManualCalculationCost.xaml index 4fe1a555..cd8d0a50 100644 --- a/BBWY.Client/Views/Order/ManualCalculationCost.xaml +++ b/BBWY.Client/Views/Order/ManualCalculationCost.xaml @@ -98,15 +98,15 @@ - - + - @@ -114,7 +114,7 @@ - @@ -130,7 +130,7 @@ - diff --git a/BBWY.Client/Views/Order/OrderListControl.xaml b/BBWY.Client/Views/Order/OrderListControl.xaml index c66cefa7..60967cce 100644 --- a/BBWY.Client/Views/Order/OrderListControl.xaml +++ b/BBWY.Client/Views/Order/OrderListControl.xaml @@ -476,7 +476,7 @@ - + @@ -485,7 +485,7 @@ - + @@ -538,8 +538,8 @@ Visibility="{Binding InStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> - + diff --git a/BBWY.Client/Views/Ware/WareStock.xaml b/BBWY.Client/Views/Ware/WareStock.xaml index c37b3d0f..cb4ad575 100644 --- a/BBWY.Client/Views/Ware/WareStock.xaml +++ b/BBWY.Client/Views/Ware/WareStock.xaml @@ -29,12 +29,11 @@ - - - + @@ -42,10 +41,11 @@ + - + @@ -58,17 +58,17 @@ - - - - + + + + - - - - + + + + - + @@ -92,13 +92,11 @@ - - - @@ -110,11 +108,11 @@ - + - + @@ -133,17 +131,17 @@ - - - - + + + + - - - - + + + + - + @@ -207,13 +205,13 @@ - + - + @@ -227,26 +225,46 @@ - - - - + + + + + + + + + + + + + + + + + + + + - - - - + + - - - - - + + + + + + + + + + @@ -264,8 +282,6 @@ - - diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 5445605e..b415c6e5 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -99,7 +99,9 @@ namespace BBWY.Server.Business { try { - //logger.Info($"订单同步 {shop.ShopName} isAuto {isAuto}"); + if (shop.ShopName == "创艺家居日用专营店") + nLogManager.Default().Info($"订单同步 {shop.ShopName} isAuto {isAuto}"); + if (!syncOrderMethodDic.ContainsKey(shop.PlatformId)) throw new Exception("不支持的平台"); var shopId = long.Parse(shop.ShopId); From 79933ba04d59d7857d762a46ad39741e78278285 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Thu, 21 Dec 2023 01:06:44 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E5=BA=93=E5=AD=98=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Client/GlobalContext.cs | 2 +- BBWY.Client/Views/Ware/WareStock.xaml | 232 +++++++++++++++++++------- 2 files changed, 172 insertions(+), 62 deletions(-) diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index f06b0ec5..5f6652fa 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10224"; + ClientVersion = "10225"; } diff --git a/BBWY.Client/Views/Ware/WareStock.xaml b/BBWY.Client/Views/Ware/WareStock.xaml index cb4ad575..a200de87 100644 --- a/BBWY.Client/Views/Ware/WareStock.xaml +++ b/BBWY.Client/Views/Ware/WareStock.xaml @@ -41,7 +41,7 @@ - + @@ -54,21 +54,21 @@ - - - - + + + + + - - - - - - - + + + + + + - + @@ -92,6 +92,7 @@ + @@ -108,7 +109,7 @@ - + @@ -127,21 +128,23 @@ - - - - + + + + + - - + + + + + + + + - - - - - - + @@ -211,7 +214,7 @@ - + @@ -219,52 +222,158 @@ - - - - - - - - + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + + - - + + @@ -282,6 +391,7 @@ + From 26e9c031fa405e43bc1f4e84417e4d1cbc5d3ce3 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Thu, 21 Dec 2023 01:16:16 +0800 Subject: [PATCH 13/19] 10226 --- BBWY.Client/GlobalContext.cs | 2 +- BBWY.Client/Views/Ware/WareStock.xaml | 30 +++++++++++++++++++-------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index 5f6652fa..a327c10d 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10225"; + ClientVersion = "10226"; } diff --git a/BBWY.Client/Views/Ware/WareStock.xaml b/BBWY.Client/Views/Ware/WareStock.xaml index a200de87..214d5bff 100644 --- a/BBWY.Client/Views/Ware/WareStock.xaml +++ b/BBWY.Client/Views/Ware/WareStock.xaml @@ -43,7 +43,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -212,7 +212,7 @@ - + @@ -244,7 +244,7 @@ - + @@ -363,11 +363,23 @@ - - - - - + + + + + + + + + + + + + + + From 66fc7f5a3d638cf10d6fadbde595c9d5f7534ee3 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Thu, 21 Dec 2023 04:13:23 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E7=99=BD=E6=90=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.API/Controllers/TestController.cs | 6 + BBWY.Server.Business/TestBusiness.cs | 154 ++++++- BBWY.Server.Business/Vender/VenderBusiness.cs | 4 +- BBWY.Server.Model/Db/JDXX/Newskus.cs | 426 ++++++++++++++++++ BBWY.Test/Program.cs | 86 ++-- 5 files changed, 628 insertions(+), 48 deletions(-) create mode 100644 BBWY.Server.Model/Db/JDXX/Newskus.cs diff --git a/BBWY.Server.API/Controllers/TestController.cs b/BBWY.Server.API/Controllers/TestController.cs index 4f830b5d..c05c2808 100644 --- a/BBWY.Server.API/Controllers/TestController.cs +++ b/BBWY.Server.API/Controllers/TestController.cs @@ -48,5 +48,11 @@ namespace BBWY.Server.API.Controllers { testBusiness.RepairDFOrder(); } + + [HttpPost] + public void Test_20231221() + { + testBusiness.Test_20231221(); + } } } diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs index b63ba0fb..ac9fa485 100644 --- a/BBWY.Server.Business/TestBusiness.cs +++ b/BBWY.Server.Business/TestBusiness.cs @@ -1,21 +1,21 @@ using BBWY.Common.Http; using BBWY.Common.Models; +using BBWY.Server.Business.Extensions; using BBWY.Server.Model; using BBWY.Server.Model.Db; using BBWY.Server.Model.Db.Mds; using BBWY.Server.Model.Dto; using FreeSql; using Microsoft.Extensions.Options; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Threading; -using BBWY.Server.Business.Extensions; -using Newtonsoft.Json; using System.Net.Http; +using System.Reflection; +using System.Threading; using System.Threading.Tasks; -using Org.BouncyCastle.Crypto.Signers; namespace BBWY.Server.Business { @@ -408,6 +408,152 @@ namespace BBWY.Server.Business Thread.Sleep(1000); } } + + public void Test_20231221() + { + var invalidOrderStateList = new List() { Enums.OrderState.已取消, Enums.OrderState.待付款 }; + var shopList = venderBusiness.GetShopList(10224131, Enums.Platform.京东); + var objList = new List<(string id, string shopName, DateTime sjtime, decimal? lastOrderAmount, decimal fto20SearchUv, decimal fto50SearchUv, decimal fto100SearchUv, decimal fto200SearchUv, decimal fto30SearchUv, decimal fto500SearchUv)>(); + var result = new List() { "店铺名,SPU,上架时间,最后一单成交价,推荐访客首次到达20时的搜索访客,推荐访客首次到达50时的搜索访客,推荐访客首次到达100时的搜索访客,推荐访客首次到达200时的搜索访客,推荐访客首次到达300时的搜索访客,推荐访客首次到达50时的搜索访客" }; + foreach (var shop in shopList) + { + Console.WriteLine(shop.ShopName); + var shopId = long.Parse(shop.ShopId); + var productList = fsql.Select().Where(p => p.ShopId == shopId).ToList(); + var productIdList = productList.Select(p => p.Id).ToList(); + + var skuList = fsql.Select() + .InnerJoin((osku, o) => osku.OrderId == o.Id) + .Where((osku, o) => o.ShopId == shopId && + !invalidOrderStateList.Contains(o.OrderState) && + o.IsGift == false && + o.StorageType != Enums.StorageType.SD && + osku.Price > 0) + .GroupBy((osku, o) => osku.ProductId) + .WithTempQuery(g => new { MaxId = g.Max(g.Value.Item1.Id), ProductId = g.Key }) + .From() + .InnerJoin((osku, osku1) => osku1.Id == osku.MaxId) + .ToList((osku, osku1) => new { osku1.ProductId, osku1.OrderId }); + var orderIdList = skuList.Select(s => s.OrderId).Distinct().ToList(); + var orderList = fsql.Select(orderIdList).ToList(o => new Order() { Id = o.Id, ShopId = o.ShopId, OrderTotalPrice = o.OrderTotalPrice }); + + + #region 20 + var _20list = freeSqlMultiDBManager.JDXXfsql.Select() + .Where(s => productIdList.Contains(s.Spu)) + .GroupBy(s => new { s.Spu, s.CreateTime }) + .Having(g => g.Sum(g.Value.StarUv) >= 50) + .OrderBy(g => g.Value.CreateTime) + .ToList(g => new + { + spu = g.Key, + g.Value.CreateTime, + sumSearchUv = g.Sum(g.Value.SearchUv), + sumStarUv = g.Sum(g.Value.StarUv) + }); + + #endregion + + #region 50 + var _50list = freeSqlMultiDBManager.JDXXfsql.Select() + .Where(s => productIdList.Contains(s.Spu)) + .GroupBy(s => new { s.Spu, s.CreateTime }) + .Having(g => g.Sum(g.Value.StarUv) >= 50) + .OrderBy(g => g.Value.CreateTime) + .ToList(g => new + { + spu = g.Key, + g.Value.CreateTime, + sumSearchUv = g.Sum(g.Value.SearchUv), + sumStarUv = g.Sum(g.Value.StarUv) + }); + + #endregion + + #region 100 + var _100list = freeSqlMultiDBManager.JDXXfsql.Select() + .Where(s => productIdList.Contains(s.Spu)) + .GroupBy(s => new { s.Spu, s.CreateTime }) + .Having(g => g.Sum(g.Value.StarUv) >= 100) + .OrderBy(g => g.Value.CreateTime) + .ToList(g => new + { + spu = g.Key, + g.Value.CreateTime, + sumSearchUv = g.Sum(g.Value.SearchUv), + sumStarUv = g.Sum(g.Value.StarUv) + }); + + #endregion + + #region 200 + var _200list = freeSqlMultiDBManager.JDXXfsql.Select() + .Where(s => productIdList.Contains(s.Spu)) + .GroupBy(s => new { s.Spu, s.CreateTime }) + .Having(g => g.Sum(g.Value.StarUv) >= 200) + .OrderBy(g => g.Value.CreateTime) + .ToList(g => new + { + spu = g.Key, + g.Value.CreateTime, + sumSearchUv = g.Sum(g.Value.SearchUv), + sumStarUv = g.Sum(g.Value.StarUv) + }); + + #endregion + + #region 300 + var _300list = freeSqlMultiDBManager.JDXXfsql.Select() + .Where(s => productIdList.Contains(s.Spu)) + .GroupBy(s => new { s.Spu, s.CreateTime }) + .Having(g => g.Sum(g.Value.StarUv) >= 300) + .OrderBy(g => g.Value.CreateTime) + .ToList(g => new + { + spu = g.Key, + g.Value.CreateTime, + sumSearchUv = g.Sum(g.Value.SearchUv), + sumStarUv = g.Sum(g.Value.StarUv) + }); + + #endregion + + #region 500 + var _500list = freeSqlMultiDBManager.JDXXfsql.Select() + .Where(s => productIdList.Contains(s.Spu)) + .GroupBy(s => new { s.Spu, s.CreateTime }) + .Having(g => g.Sum(g.Value.StarUv) >= 500) + .OrderBy(g => g.Value.CreateTime) + .ToList(g => new + { + spu = g.Key, + g.Value.CreateTime, + sumSearchUv = g.Sum(g.Value.SearchUv), + sumStarUv = g.Sum(g.Value.StarUv) + }); + + #endregion + + foreach (var product in productList) + { + var orderTotalPrice = orderList.FirstOrDefault(o => o.Id == (skuList.FirstOrDefault(s => s.ProductId == product.Id)?.OrderId))?.OrderTotalPrice ?? 0M; + var shopName = shop.ShopName; + var sjtime = product.CreateTime; + var fto20SearchUv = _20list.FirstOrDefault(s => s.spu.Spu == product.Id)?.sumSearchUv ?? 0M; + var fto50SearchUv = _50list.FirstOrDefault(s => s.spu.Spu == product.Id)?.sumSearchUv ?? 0M; + var fto100SearchUv = _100list.FirstOrDefault(s => s.spu.Spu == product.Id)?.sumSearchUv ?? 0M; + var fto200SearchUv = _200list.FirstOrDefault(s => s.spu.Spu == product.Id)?.sumSearchUv ?? 0M; + var fto300SearchUv = _300list.FirstOrDefault(s => s.spu.Spu == product.Id)?.sumSearchUv ?? 0M; + var fto500SearchUv = _500list.FirstOrDefault(s => s.spu.Spu == product.Id)?.sumSearchUv ?? 0M; + result.Add($"{shopName},{product.Id},{sjtime},{orderTotalPrice},{fto20SearchUv},{fto50SearchUv},{fto100SearchUv},{fto200SearchUv},{fto300SearchUv},{fto500SearchUv}"); + } + } + + System.IO.File.WriteAllLines(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "result.csv"), result, System.Text.Encoding.UTF8); + Console.WriteLine("结束"); + } + + } public class JPCount diff --git a/BBWY.Server.Business/Vender/VenderBusiness.cs b/BBWY.Server.Business/Vender/VenderBusiness.cs index 5ad45bd3..9eb61897 100644 --- a/BBWY.Server.Business/Vender/VenderBusiness.cs +++ b/BBWY.Server.Business/Vender/VenderBusiness.cs @@ -293,14 +293,14 @@ namespace BBWY.Server.Business return departmentList; } - public IList GetShopList(long? shopId = null, Enums.Platform? platform = null, bool filterTurnoverDays = false, bool filterSiNan = false) + public IList GetShopList(long? shopId = null, Enums.Platform? platform = null, bool filterTurnoverDays = false, bool filterSiNan = false, bool? isEnabled = true) { return freeSqlMultiDBManager.MDSfsql.Select().Where(s => !string.IsNullOrEmpty(s.ShopId)) .WhereIf(shopId != null, s => s.ShopId == shopId.ToString()) .WhereIf(platform != null, s => s.PlatformId == (int)platform) .WhereIf(filterTurnoverDays, s => s.SkuSafeTurnoverDays != 0) .WhereIf(filterSiNan, s => !string.IsNullOrEmpty(s.SiNanDingDingWebHook)) - .Where(s => s.IsEnabled == true) + .WhereIf(isEnabled != null, s => s.IsEnabled == isEnabled) .ToList(); } diff --git a/BBWY.Server.Model/Db/JDXX/Newskus.cs b/BBWY.Server.Model/Db/JDXX/Newskus.cs new file mode 100644 index 00000000..3cf75553 --- /dev/null +++ b/BBWY.Server.Model/Db/JDXX/Newskus.cs @@ -0,0 +1,426 @@ +using FreeSql.DataAnnotations; +using System; + +namespace JDXX.Model.Db +{ + [Table(Name = "newskus", DisableSyncStructure = true)] + public partial class Newskus + { + + /// + /// Id + /// + [Column(StringLength = 50, IsPrimary = true, IsNullable = false)] + public string Id { get; set; } + + /// + /// 加购物车数量 + /// + [Column(DbType = "int")] + public int? AddCardCount { get; set; } + + /// + /// 加购人数 + /// + [Column(DbType = "int")] + public int? AddCardMember { get; set; } + + /// + /// 加购率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? AddCardRate { get; set; } + + /// + /// 点击次数 + /// + [Column(DbType = "int")] + public int? ClickCount { get; set; } + + /// + /// 点击率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ClickRate { get; set; } + + /// + /// 栏目订单 + /// + [Column(DbType = "int")] + public int? ColumnOrder { get; set; } + + /// + /// 转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ConversionRate { get; set; } + + /// + /// 收费流量 + /// + [Column(DbType = "int")] + public int? CostUv { get; set; } + + /// + /// 创建时间 + /// + [Column(DbType = "datetime")] + public DateTime CreateTime { get; set; } + + /// + /// 盈亏小节 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? EarningsPrice { get; set; } + + /// + /// 曝光量 + /// + [Column(DbType = "int")] + public int? Exposure { get; set; } + + /// + /// 快车点击率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ExposureClickRate { get; set; } + + /// + /// 快车点击 + /// + [Column(DbType = "int")] + public int? ExpressClick { get; set; } + + /// + /// 快车花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ExpressCost { get; set; } + + /// + /// 快车展现 + /// + + public decimal? ExpressExposure { get; set; } + + /// + /// 快车订单 + /// + [Column(DbType = "int")] + public int? ExpressOrder { get; set; } + + /// + /// 快车成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ExpressPayPrice { get; set; } + + /// + /// 快车人均点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ExpressPeopleClick { get; set; } + + /// + /// 快车访客 + /// + [Column(DbType = "int")] + public int? ExpressUv { get; set; } + + /// + /// 免费订单 + /// + [Column(DbType = "int")] + public int? FreeOrder { get; set; } + + /// + /// 免费成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? FreePayPrice { get; set; } + + /// + /// 免费流量 + /// + [Column(DbType = "int")] + public int? FreeUv { get; set; } + + /// + /// 首页访客 + /// + [Column(DbType = "int")] + public int? IndexUv { get; set; } + + /// + /// 是否收藏 + /// + [Column(DbType = "tinyint")] + public sbyte? IsStar { get; set; } + + /// + /// 新品交易榜单 + /// + [Column(DbType = "int")] + public int? NewSaleTopIndex { get; set; } + + /// + /// 新品人气榜单 + /// + [Column(DbType = "int")] + public int? NewUvTopIndex { get; set; } + + /// + /// 一级类目 + /// + [Column(StringLength = 50)] + public string OneCatId { get; set; } + + /// + /// 其他订单 + /// + [Column(DbType = "int")] + public int? OtherOrder { get; set; } + + /// + /// 其他成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? OtherPrice { get; set; } + + /// + /// 其他访客 + /// + [Column(DbType = "int")] + public int? OtherUv { get; set; } + + /// + /// 流量路径 + /// + [Column(StringLength = -2)] + public string PathList { get; set; } + + /// + /// 下单商品件数 + /// + [Column(DbType = "int")] + public int? PayItemCount { get; set; } + + /// + /// 下单客户数 + /// + [Column(DbType = "int")] + public int? PayMember { get; set; } + + /// + /// 下单数 + /// + [Column(DbType = "int")] + public int? PayOrder { get; set; } + + /// + /// 下单金额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? PayPrice { get; set; } + + /// + /// 下单转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? PayRate { get; set; } + + /// + /// 毛利 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? Profits { get; set; } + + /// + /// 流量 + /// + [Column(DbType = "int")] + public int? Pv { get; set; } + + /// + /// 真实转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? RealConversionRate { get; set; } + + /// + /// 真实成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? RealPrice { get; set; } + + /// + /// 成交客户数 + /// + [Column(DbType = "int")] + public int? SaleMember { get; set; } + + /// + /// 成交金额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? SalePrice { get; set; } + + /// + /// 成交转化率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? SaleRate { get; set; } + + /// + /// 成交件数 + /// + [Column(DbType = "int")] + public int? Sales { get; set; } + + /// + /// 交易榜单排名 + /// + [Column(DbType = "int")] + public int? SaleTopIndex { get; set; } + + /// + /// 风向标 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ScoreRank { get; set; } + + /// + /// 刷单花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? SdCost { get; set; } + + /// + /// 刷单单量 + /// + [Column(DbType = "int")] + public int? SdOrder { get; set; } + + /// + /// 刷单成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? SdPrice { get; set; } + + /// + /// 搜索访客 + /// + [Column(DbType = "int")] + public int? SearchUv { get; set; } + + /// + /// 二级类目 + /// + [Column(StringLength = 50)] + public string SecondCatId { get; set; } + + /// + /// 自主订单 + /// + [Column(DbType = "int")] + public int? SelfOrder { get; set; } + + /// + /// 店铺ID + /// + [Column(StringLength = 50)] + public string ShopId { get; set; } + + /// + /// 海投点击 + /// + [Column(DbType = "int")] + public int? ShotgunClick { get; set; } + + /// + /// 海投点击率 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ShotgunClickRate { get; set; } + + /// + /// 海投花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ShotgunCost { get; set; } + + /// + /// 海投展现 + /// + [Column(DbType = "decimal(11,2)")] + public decimal? ShotgunExposure { get; set; } + + /// + /// 海投订单 + /// + [Column(DbType = "int")] + public int? ShotgunOrder { get; set; } + + /// + /// 海投成交额 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? ShotgunPayPrice { get; set; } + + /// + /// 海投人均点击 + /// + [Column(DbType = "decimal(11,4)")] + public decimal? ShotgunPeopleClick { get; set; } + + /// + /// 海投访客 + /// + [Column(DbType = "int")] + public int? ShotgunUv { get; set; } + + /// + /// sku + /// + [Column(StringLength = 50)] + public string Sku { get; set; } + + /// + /// Spu + /// + [Column(StringLength = 50)] + public string Spu { get; set; } + + /// + /// 推荐访客 + /// + [Column(DbType = "int")] + public int? StarUv { get; set; } + + /// + /// 三级类目 + /// + [Column(StringLength = 50)] + public string ThirdCatId { get; set; } + + /// + /// 总花费 + /// + [Column(DbType = "decimal(19,4)")] + public decimal? TotalCost { get; set; } + + /// + /// 访客 + /// + [Column(DbType = "int")] + public int? Uv { get; set; } + + /// + /// 人气榜单排名 + /// + [Column(DbType = "int")] + public int? UvTopIndex { get; set; } + + } + +} diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index af0464aa..eec7bc71 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -68,49 +68,51 @@ namespace BBWY.Test //var token = "50a4c0f5c55848b5a8a715709e8d6fe0jntb"; //卿卿玩具专营店 var fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy_test;charset=utf8;sslmode=none;").Build(); - var sercvice = new ServiceCollection(); - sercvice.AddHttpClient(); - var servicePriovder = sercvice.BuildServiceProvider(); - var restApiService = new Common.Http.RestApiService(servicePriovder.GetRequiredService()); + //var sercvice = new ServiceCollection(); + //sercvice.AddHttpClient(); + //var servicePriovder = sercvice.BuildServiceProvider(); + //var restApiService = new Common.Http.RestApiService(servicePriovder.GetRequiredService()); + + //var files = System.IO.Directory.GetFiles(@"C:\Users\pengcong001\Desktop\bbwylog"); + //var startTime = DateTime.Parse("2023-10-16"); + //var endTime = DateTime.Parse("2023-11-22"); + //foreach (var file in files) + //{ + // var fileName = file.Substring(file.LastIndexOf("\\") + 1); + // Console.WriteLine(file); + + // var lines = System.IO.File.ReadAllLines(file); + // var priceModifyMsgList = lines.Where(l => !string.IsNullOrEmpty(l) && l.Contains("ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY")).ToList(); + // var orderIndex = 0; + // foreach (var priceModifyMsg in priceModifyMsgList) + // { + // orderIndex++; + // var poId = JObject.Parse(priceModifyMsg)["data"]["orderId"].ToString(); + // var orderDropshipping = fsql.Select().Where(o => o.PurchaseOrderId == poId).ToOne(); + // if (orderDropshipping == null) + // continue; + // var orderId = orderDropshipping.OrderId; + // var shopId = orderDropshipping.ShopId; + + // var result = restApiService.SendRequest("http://bbwytest.qiyue666.com/", "api/test/RepairSkuDetailAndSkuGriooProfit", new + // { + // StartTime = startTime, + // EndTime = endTime, + // ShopId = shopId, + // OrderId = orderId, + // OrderIdList = new List() + // }, null, HttpMethod.Post); + // Console.WriteLine($"{DateTime.Now} {fileName} {orderIndex}/{priceModifyMsgList.Count()} HttpResult{result.StatusCode}"); + // Thread.Sleep(2000); + // } + // try + // { + // System.IO.File.Delete(file); + // } + // catch { } + //} + - var files = System.IO.Directory.GetFiles(@"C:\Users\pengcong001\Desktop\bbwylog"); - var startTime = DateTime.Parse("2023-10-16"); - var endTime = DateTime.Parse("2023-11-22"); - foreach (var file in files) - { - var fileName = file.Substring(file.LastIndexOf("\\") + 1); - Console.WriteLine(file); - - var lines = System.IO.File.ReadAllLines(file); - var priceModifyMsgList = lines.Where(l => !string.IsNullOrEmpty(l) && l.Contains("ORDER_BUYER_VIEW_ORDER_PRICE_MODIFY")).ToList(); - var orderIndex = 0; - foreach (var priceModifyMsg in priceModifyMsgList) - { - orderIndex++; - var poId = JObject.Parse(priceModifyMsg)["data"]["orderId"].ToString(); - var orderDropshipping = fsql.Select().Where(o => o.PurchaseOrderId == poId).ToOne(); - if (orderDropshipping == null) - continue; - var orderId = orderDropshipping.OrderId; - var shopId = orderDropshipping.ShopId; - - var result = restApiService.SendRequest("http://bbwytest.qiyue666.com/", "api/test/RepairSkuDetailAndSkuGriooProfit", new - { - StartTime = startTime, - EndTime = endTime, - ShopId = shopId, - OrderId = orderId, - OrderIdList = new List() - }, null, HttpMethod.Post); - Console.WriteLine($"{DateTime.Now} {fileName} {orderIndex}/{priceModifyMsgList.Count()} HttpResult{result.StatusCode}"); - Thread.Sleep(2000); - } - try - { - System.IO.File.Delete(file); - } - catch { } - } From 5aae82da7b5473a28ddb0a29145897ee540ce8a7 Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 21 Dec 2023 15:24:19 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=8D=95=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Client/Models/Order/Order.cs | 16 ++++++++++++---- BBWY.Server.Business/Order/OrderBusiness.cs | 11 +++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/BBWY.Client/Models/Order/Order.cs b/BBWY.Client/Models/Order/Order.cs index a53f660f..bbb3ccfc 100644 --- a/BBWY.Client/Models/Order/Order.cs +++ b/BBWY.Client/Models/Order/Order.cs @@ -237,11 +237,19 @@ namespace BBWY.Client.Models { get { + //var beforeTotalCost = OrderCost?.BeforeTotalCost ?? 0M; + //return OrderState != OrderState.已取消 && StorageType != Models.StorageType.SD && + // ((StorageType != null && beforeTotalCost == 0M) || + // (beforeTotalCost > OrderSellerPrice + FreightPrice + PingTaiChengDanYouHuiQuan) || + // (StorageType == null && OrderState != OrderState.等待采购 && OrderState != OrderState.待付款)); + var beforeTotalCost = OrderCost?.BeforeTotalCost ?? 0M; - return OrderState != OrderState.已取消 && StorageType != Models.StorageType.SD && - ((StorageType != null && beforeTotalCost == 0M) || - (beforeTotalCost > OrderSellerPrice + FreightPrice + PingTaiChengDanYouHuiQuan) || - (StorageType == null && OrderState != OrderState.等待采购 && OrderState != OrderState.待付款)); + var profit = OrderCost?.Profit ?? 0M; + return (OrderState != OrderState.已取消 && + StorageType != Models.StorageType.SD && + StorageType != null && + (beforeTotalCost == 0M || profit < 0M)) || + (StorageType == null && OrderState != OrderState.等待采购 && OrderState != OrderState.待付款); } } diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 5e33c722..53ad3e95 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -78,10 +78,13 @@ namespace BBWY.Server.Business .WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct, sh) => o.StartTime >= searchOrderRequest.StartDate) .WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct, sh) => o.StartTime <= searchOrderRequest.EndDate) .WhereIf(searchOrderRequest.IncludeExceptionOrder, - (o, ocs, oct, sh) => o.OrderState != Enums.OrderState.已取消 && - ((o.StorageType != Enums.StorageType.SD && o.StorageType != null && oct.PurchaseAmount == 0M) || - (o.StorageType != Enums.StorageType.SD && oct.PurchaseAmount + oct.DeliveryExpressFreight > o.OrderSellerPrice + o.FreightPrice + o.PingTaiChengDanYouHuiQuan) || - (o.StorageType == null && o.OrderState != Enums.OrderState.等待采购))) + (o, ocs, oct, sh) => (o.OrderState != Enums.OrderState.已取消 && + o.StorageType != Enums.StorageType.SD && + o.StorageType != null && + (oct.PurchaseAmount == 0M || oct.Profit < 0)) || + (o.StorageType == null && + o.OrderState != Enums.OrderState.等待采购 && + o.OrderState != Enums.OrderState.待付款)) .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct, sh) => o.StorageType == Enums.StorageType.代发) .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct, sh) => o.OrderState != Enums.OrderState.已取消) .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct, sh) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) From 769ddfeca52a1c5844adbad4cf672dfb07ded4a1 Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 21 Dec 2023 15:24:33 +0800 Subject: [PATCH 16/19] 10227 --- BBWY.Client/GlobalContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index a327c10d..6b28e420 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10226"; + ClientVersion = "10227"; } From 4d6af13af52301d2c1e1b11e66bc12352812a27c Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 21 Dec 2023 15:49:25 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Statistics/StatisticsBusiness.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index 79677e74..719ecead 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -372,12 +372,16 @@ namespace BBWY.Server.Business o.OrderState == Enums.OrderState.等待采购 && o.StartTime >= dt).Count(); response.ExceptionCount = fsql.Select().LeftJoin((o, oc) => o.Id == oc.OrderId) - .Where((o, oc) => o.ShopId == shopId && o.StartTime >= dt && + .Where((o, oc) => o.ShopId == shopId && + o.StartTime >= dt && o.IsGift == false && - o.OrderState != Enums.OrderState.已取消 && - ((o.StorageType != Enums.StorageType.SD && o.StorageType != null && oc.PurchaseAmount == 0M) || - (o.StorageType != Enums.StorageType.SD && oc.PurchaseAmount + oc.DeliveryExpressFreight > o.OrderSellerPrice + o.FreightPrice + o.PingTaiChengDanYouHuiQuan) || - (o.StorageType == null && o.OrderState != Enums.OrderState.等待采购))).Count(); + ((o.OrderState != Enums.OrderState.已取消 && + o.StorageType != Enums.StorageType.SD && + o.StorageType != null && + (oc.PurchaseAmount == 0M || oc.Profit < 0)) || + (o.StorageType == null && + o.OrderState != Enums.OrderState.等待采购 && + o.OrderState != Enums.OrderState.待付款))).Count(); response.WaitOutStoreCount = fsql.Select().Where(o => o.ShopId == shopId && o.OrderState == Enums.OrderState.待出库 && o.StartTime >= dt && o.IsGift == false).Count(); From cebb211a547fcd84778f8b7747cb3ca5c1d601af Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 21 Dec 2023 16:01:33 +0800 Subject: [PATCH 18/19] ` --- BBWY.Client/Models/Order/Order.cs | 7 +++++-- BBWY.Server.Business/Order/OrderBusiness.cs | 13 ++++++++++--- .../Statistics/StatisticsBusiness.cs | 15 ++++++++++++--- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/BBWY.Client/Models/Order/Order.cs b/BBWY.Client/Models/Order/Order.cs index bbb3ccfc..d8063ca8 100644 --- a/BBWY.Client/Models/Order/Order.cs +++ b/BBWY.Client/Models/Order/Order.cs @@ -245,11 +245,14 @@ namespace BBWY.Client.Models var beforeTotalCost = OrderCost?.BeforeTotalCost ?? 0M; var profit = OrderCost?.Profit ?? 0M; - return (OrderState != OrderState.已取消 && + return (OrderState != OrderState.已取消 && StorageType != Models.StorageType.SD && StorageType != null && (beforeTotalCost == 0M || profit < 0M)) || - (StorageType == null && OrderState != OrderState.等待采购 && OrderState != OrderState.待付款); + (StorageType == null && + OrderState != OrderState.等待采购 && + OrderState != OrderState.待付款 && + OrderState != OrderState.已取消); } } diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 53ad3e95..709230e1 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -39,6 +39,8 @@ namespace BBWY.Server.Business private IMemoryCache memoryCache; private static TimeSpan sdGroupExpirationTimeSpan = TimeSpan.FromMinutes(20); + private List filterExceptionStateList; + public OrderBusiness(RestApiService restApiService, IFreeSql fsql, IIdGenerator idGenerator, @@ -52,6 +54,12 @@ namespace BBWY.Server.Business freeSqlMultiDBManagerLazy = new Lazy(() => serviceProvider.GetService()); productBusinessLazy = new Lazy(() => serviceProvider.GetService()); venderBusinessLazy = new Lazy(() => serviceProvider.GetService()); + + filterExceptionStateList = new List() { + Enums.OrderState.等待采购, + Enums.OrderState.待付款, + Enums.OrderState.已取消 + }; } private ISelect GetOrderListQueryConditions(SearchOrderRequest searchOrderRequest) @@ -82,9 +90,8 @@ namespace BBWY.Server.Business o.StorageType != Enums.StorageType.SD && o.StorageType != null && (oct.PurchaseAmount == 0M || oct.Profit < 0)) || - (o.StorageType == null && - o.OrderState != Enums.OrderState.等待采购 && - o.OrderState != Enums.OrderState.待付款)) + (o.StorageType == null && + !filterExceptionStateList.Contains(o.OrderState))) .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct, sh) => o.StorageType == Enums.StorageType.代发) .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct, sh) => o.OrderState != Enums.OrderState.已取消) .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct, sh) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index 719ecead..66ac0bf4 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; +using System.Net.Http.Headers; using Yitter.IdGenerator; namespace BBWY.Server.Business @@ -19,11 +20,18 @@ namespace BBWY.Server.Business private FreeSqlMultiDBManager freeSqlMultiDBManager; private RestApiService restApiService; + private List filterExceptionStateList; + public StatisticsBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, FreeSqlMultiDBManager freeSqlMultiDBManager, RestApiService restApiService) : base(fsql, nLogManager, idGenerator) { invalidOrderStateList = new List() { Enums.OrderState.待付款, Enums.OrderState.已取消 }; this.freeSqlMultiDBManager = freeSqlMultiDBManager; this.restApiService = restApiService; + filterExceptionStateList = new List() { + Enums.OrderState.等待采购, + Enums.OrderState.待付款, + Enums.OrderState.已取消 + }; } public OrderAchievementResponse GetOrderAchievementStatistics(OrderAchievementRequest request) @@ -364,6 +372,8 @@ namespace BBWY.Server.Business { //startDate = startDate.Date; //endDate = endDate.Date.AddDays(1).AddSeconds(-1); + + var dt = DateTime.Parse("2022-05-01"); var afterDt = DateTime.Parse("2022-10-01"); var response = new OrderCountStatisticsResponse(); @@ -372,7 +382,7 @@ namespace BBWY.Server.Business o.OrderState == Enums.OrderState.等待采购 && o.StartTime >= dt).Count(); response.ExceptionCount = fsql.Select().LeftJoin((o, oc) => o.Id == oc.OrderId) - .Where((o, oc) => o.ShopId == shopId && + .Where((o, oc) => o.ShopId == shopId && o.StartTime >= dt && o.IsGift == false && ((o.OrderState != Enums.OrderState.已取消 && @@ -380,8 +390,7 @@ namespace BBWY.Server.Business o.StorageType != null && (oc.PurchaseAmount == 0M || oc.Profit < 0)) || (o.StorageType == null && - o.OrderState != Enums.OrderState.等待采购 && - o.OrderState != Enums.OrderState.待付款))).Count(); + !filterExceptionStateList.Contains(o.OrderState)))).Count(); response.WaitOutStoreCount = fsql.Select().Where(o => o.ShopId == shopId && o.OrderState == Enums.OrderState.待出库 && o.StartTime >= dt && o.IsGift == false).Count(); From ac880595d89c02eb2a50bb8f199cdd472d7d5d65 Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 21 Dec 2023 16:05:08 +0800 Subject: [PATCH 19/19] 10228 --- BBWY.Client/GlobalContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index 6b28e420..158baadb 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10227"; + ClientVersion = "10228"; }