diff --git a/BBWY.Client/Models/APIModel/Response/Order/OrderDropShippingResponse.cs b/BBWY.Client/Models/APIModel/Response/Order/OrderDropShippingResponse.cs index 7c7ea1b7..5173c3ff 100644 --- a/BBWY.Client/Models/APIModel/Response/Order/OrderDropShippingResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/Order/OrderDropShippingResponse.cs @@ -2,6 +2,8 @@ { public class OrderDropShippingResponse { + public long Id { get; set; } + public string OrderId { get; set; } public string BuyerAccount { get; set; } @@ -12,6 +14,8 @@ public string PurchaseOrderId { get; set; } + public string MerchantOrderId { get; set; } + public Platform? PurchasePlatform { get; set; } public string SellerAccount { get; set; } diff --git a/BBWY.Client/Models/APIModel/Response/Order/OrderResponse.cs b/BBWY.Client/Models/APIModel/Response/Order/OrderResponse.cs index 8a993abc..6e5d7ae4 100644 --- a/BBWY.Client/Models/APIModel/Response/Order/OrderResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/Order/OrderResponse.cs @@ -163,7 +163,7 @@ namespace BBWY.Client.Models /// /// 代发信息 /// - public OrderDropShippingResponse OrderDropShipping { get; set; } + public IList OrderDropShippingList { get; set; } } public class OrderListResponse diff --git a/BBWY.Client/Models/APIModel/Response/Order/OrderSkuResponse.cs b/BBWY.Client/Models/APIModel/Response/Order/OrderSkuResponse.cs index 41a8e194..01e22502 100644 --- a/BBWY.Client/Models/APIModel/Response/Order/OrderSkuResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/Order/OrderSkuResponse.cs @@ -21,5 +21,10 @@ public string Title { get; set; } public string Logo { get; set; } + + /// + /// 代发信息Id + /// + public long? OrderDropShippingId { get; set; } } } diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index 66c8d1f9..55ed29ba 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -8,7 +8,8 @@ 淘宝 = 0, 京东 = 1, 阿里巴巴 = 2, - 拼多多 = 3 + 拼多多 = 3, + 微信 = 4 } /// diff --git a/BBWY.Client/Models/Order/Order.cs b/BBWY.Client/Models/Order/Order.cs index 20ebe5a1..2650ac28 100644 --- a/BBWY.Client/Models/Order/Order.cs +++ b/BBWY.Client/Models/Order/Order.cs @@ -189,7 +189,7 @@ namespace BBWY.Client.Models /// /// 代发信息 /// - public OrderDropShipping OrderDropShipping { get; set; } + public IList OrderDropShippingList { get; set; } public void ConvertOrderCostDetailToGroup() { diff --git a/BBWY.Client/Models/Order/OrderDropShipping.cs b/BBWY.Client/Models/Order/OrderDropShipping.cs index 20fa298f..fd21073b 100644 --- a/BBWY.Client/Models/Order/OrderDropShipping.cs +++ b/BBWY.Client/Models/Order/OrderDropShipping.cs @@ -7,12 +7,13 @@ if (PurchaseFreight != 0M) PurchaseFreightStr = PurchaseFreight.ToString(); } - + public long Id { get; set; } public string OrderId { get; set; } public string BuyerAccount { get => buyerAccount; set { Set(ref buyerAccount, value); } } public string SellerAccount { get => sellerAccount; set { Set(ref sellerAccount, value); } } public decimal DeliveryFreight { get => deliveryFreight; set { Set(ref deliveryFreight, value); } } public string PurchaseOrderId { get => purchaseOrderId; set { Set(ref purchaseOrderId, value); } } + public string MerchantOrderId { get => merchantOrderId; set { Set(ref merchantOrderId, value); } } public Platform PurchasePlatform { get => purchasePlatform; set { Set(ref purchasePlatform, value); } } public decimal PurchaseAmount { get => purchaseAmount; set { Set(ref purchaseAmount, value); } } @@ -49,6 +50,7 @@ private string sellerAccount; private decimal deliveryFreight; private string purchaseOrderId; + private string merchantOrderId; private Platform purchasePlatform; private decimal purchaseAmount; private decimal skuAmount; diff --git a/BBWY.Client/Models/Order/OrderSku.cs b/BBWY.Client/Models/Order/OrderSku.cs index 73a37a1a..fdc5d725 100644 --- a/BBWY.Client/Models/Order/OrderSku.cs +++ b/BBWY.Client/Models/Order/OrderSku.cs @@ -18,5 +18,10 @@ public string Title { get; set; } public string Logo { get; set; } + + /// + /// 代发信息Id + /// + public long? OrderDropShippingId { get; set; } } } diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index 05908e2e..1ba031be 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -417,7 +417,7 @@ namespace BBWY.Client.ViewModels return; if (order.StorageType == StorageType.代发) { - var relationPurchaseOrder = new RelationPurchaseOrder(order.Id, globalContext.User.Shop.PurchaseAccountList, order.OrderDropShipping, order.ItemList.Select(osku => new RelationPurchaseOrderSku() + var relationPurchaseOrder = new RelationPurchaseOrder(order.Id, globalContext.User.Shop.PurchaseAccountList, order.OrderDropShippingList[0], order.ItemList.Select(osku => new RelationPurchaseOrderSku() { Logo = osku.Logo, ProductId = osku.ProductId, diff --git a/BBWY.Client/Views/MainWindow.xaml b/BBWY.Client/Views/MainWindow.xaml index 9700d262..0d710d37 100644 --- a/BBWY.Client/Views/MainWindow.xaml +++ b/BBWY.Client/Views/MainWindow.xaml @@ -26,7 +26,7 @@ - + diff --git a/BBWY.Client/Views/Order/OrderList.xaml b/BBWY.Client/Views/Order/OrderList.xaml index 1dd8c044..a75c7b69 100644 --- a/BBWY.Client/Views/Order/OrderList.xaml +++ b/BBWY.Client/Views/Order/OrderList.xaml @@ -299,19 +299,9 @@ Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}" CommandParameter="{Binding Id}"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -518,7 +520,7 @@ - + @@ -799,7 +801,7 @@ - + diff --git a/BBWY.Server.API/Controllers/PurchaseOrderController.cs b/BBWY.Server.API/Controllers/PurchaseOrderController.cs index b585920a..e7c46e60 100644 --- a/BBWY.Server.API/Controllers/PurchaseOrderController.cs +++ b/BBWY.Server.API/Controllers/PurchaseOrderController.cs @@ -53,16 +53,6 @@ namespace BBWY.Server.API.Controllers return purchaseOrderBusiness.PreviewPurchaseOrder(previewOrderReuqest); } - /// - /// 创建在线采购单,即将废弃 - /// - /// - [HttpPost] - public void FastCreateOrder([FromBody] CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest) - { - purchaseOrderBusiness.FastCreateOrder(createOnlinePurchaseOrderRequest); - } - /// /// 创建在线采购单 /// diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 597b120b..8412d4ef 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -60,12 +60,11 @@ namespace BBWY.Server.Business if (searchOrderRequest.EndDate != null) searchOrderRequest.EndDate = searchOrderRequest.EndDate.Value.Date.AddDays(1).AddSeconds(-1); - var select = fsql.Select().LeftJoin((o, ocs, oct, ods) => o.Id == ocs.OrderId) - .LeftJoin((o, ocs, oct, ods) => o.Id == oct.OrderId) - .LeftJoin((o, ocs, oct, ods) => o.Id == ods.OrderId); + var select = fsql.Select().LeftJoin((o, ocs, oct) => o.Id == ocs.OrderId) + .LeftJoin((o, ocs, oct) => o.Id == oct.OrderId); if (!string.IsNullOrEmpty(searchOrderRequest.OrderId)) { - select = select.Where((o, ocs, oct, ods) => o.Id == searchOrderRequest.OrderId); + select = select.Where((o, ocs, oct) => o.Id == searchOrderRequest.OrderId); } else { @@ -74,25 +73,25 @@ namespace BBWY.Server.Business var childSelect = fsql.Select().As("osku") .WhereIf(string.IsNullOrEmpty(searchOrderRequest.Sku) == false, osku => osku.SkuId == searchOrderRequest.Sku) .WhereIf(string.IsNullOrEmpty(searchOrderRequest.ProductNo) == false, osku => osku.ProductNo == searchOrderRequest.ProductNo); - select = select.Where((o, ocs, oct, ods) => childSelect.Where(osku => osku.OrderId == o.Id).Any()); + select = select.Where((o, ocs, oct) => childSelect.Where(osku => osku.OrderId == o.Id).Any()); } - select = select.WhereIf(searchOrderRequest.OrderState != null, (o, ocs, oct, ods) => o.OrderState == searchOrderRequest.OrderState) - .WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct, ods) => o.StartTime >= searchOrderRequest.StartDate) - .WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct, ods) => o.StartTime <= searchOrderRequest.EndDate) - .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct, ods) => o.StorageType == Enums.StorageType.代发) - .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct, ods) => o.OrderState != Enums.OrderState.已取消) - .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct, ods) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) - .WhereIf(string.IsNullOrEmpty(searchOrderRequest.ContactName) == false, (o, ocs, oct, ods) => ocs.ContactName == searchOrderRequest.ContactName) - .WhereIf(string.IsNullOrEmpty(searchOrderRequest.Waybill) == false, (o, ocs, oct, ods) => o.WaybillNo == searchOrderRequest.Waybill); + select = select.WhereIf(searchOrderRequest.OrderState != null, (o, ocs, oct) => o.OrderState == searchOrderRequest.OrderState) + .WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct) => o.StartTime >= searchOrderRequest.StartDate) + .WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct) => o.StartTime <= searchOrderRequest.EndDate) + .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct) => o.StorageType == Enums.StorageType.代发) + .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct) => o.OrderState != Enums.OrderState.已取消) + .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) + .WhereIf(string.IsNullOrEmpty(searchOrderRequest.ContactName) == false, (o, ocs, oct) => ocs.ContactName == searchOrderRequest.ContactName) + .WhereIf(string.IsNullOrEmpty(searchOrderRequest.Waybill) == false, (o, ocs, oct) => o.WaybillNo == searchOrderRequest.Waybill); } - select = select.Where((o, ocs, oct, ods) => o.ShopId == searchOrderRequest.ShopId) - .OrderByDescending((o, ocs, oct, ods) => o.StartTime) + select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId) + .OrderByDescending((o, ocs, oct) => o.StartTime) .Count(out var total) .Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize); - var orderSourceList = select.ToList((o, ocs, oct, ods) => new Order() + var orderSourceList = select.ToList((o, ocs, oct) => new Order() { Id = o.Id, BuyerRemark = o.BuyerRemark, @@ -140,13 +139,13 @@ namespace BBWY.Server.Business IsManualEdited = oct.IsManualEdited, SDCommissionAmount = oct.SDCommissionAmount, - BuyerAccount = ods.BuyerAccount, - DeliveryFreight = ods.DeliveryFreight, - PurchaseOrderId = ods.PurchaseOrderId, - PurchasePlatform = ods.PurchasePlatform, - SellerAccount = ods.SellerAccount, - OrderDropShippingSkuAmount = ods.SkuAmount, - OrderDropShippingPurchaseFreight = ods.PurchaseFreight, + //BuyerAccount = ods.BuyerAccount, + //DeliveryFreight = ods.DeliveryFreight, + //PurchaseOrderId = ods.PurchaseOrderId, + //PurchasePlatform = ods.PurchasePlatform, + //SellerAccount = ods.SellerAccount, + //OrderDropShippingSkuAmount = ods.SkuAmount, + //OrderDropShippingPurchaseFreight = ods.PurchaseFreight, }); var orderList = orderSourceList.Map>(); @@ -154,10 +153,27 @@ namespace BBWY.Server.Business { var orderIdList = orderList.Select(o => o.Id).ToList(); + #region 处理代发信息 + var orderDropShippingList = fsql.Select().Where(ods => orderIdList.Contains(ods.OrderId)).ToList().Map>(); + foreach (var order in orderList) + order.OrderDropShippingList = orderDropShippingList.Where(ods => ods.OrderId == order.Id).ToList(); + #endregion + #region 处理Sku var orderSkuList = fsql.Select().Where(osku => orderIdList.Contains(osku.OrderId)).ToList().Map>(); foreach (var order in orderList) + { order.ItemList = orderSkuList.Where(osku => osku.OrderId == order.Id).ToList(); + if (order.StorageType == Enums.StorageType.代发) + { + foreach (var orderSku in order.ItemList) + { + if (orderSku.OrderDropShippingId == null && (order.OrderDropShippingList?.Count() ?? 0) > 0) + orderSku.OrderDropShippingId = order.OrderDropShippingList[0].Id; + } + } + } + #endregion #region 处理优惠券 @@ -193,13 +209,12 @@ namespace BBWY.Server.Business if (searchOrderRequest.EndDate != null) searchOrderRequest.EndDate = searchOrderRequest.EndDate.Value.Date.AddDays(1).AddSeconds(-1); - var select = fsql.Select().LeftJoin((o, ocs, oct, ods) => o.Id == ocs.OrderId) - .LeftJoin((o, ocs, oct, ods) => o.Id == oct.OrderId) - .LeftJoin((o, ocs, oct, ods) => o.Id == ods.OrderId); + var select = fsql.Select().LeftJoin((o, ocs, oct) => o.Id == ocs.OrderId) + .LeftJoin((o, ocs, oct) => o.Id == oct.OrderId); if (!string.IsNullOrEmpty(searchOrderRequest.OrderId)) { - select = select.Where((o, ocs, oct, ods) => o.Id == searchOrderRequest.OrderId); + select = select.Where((o, ocs, oct) => o.Id == searchOrderRequest.OrderId); } else { @@ -208,23 +223,23 @@ namespace BBWY.Server.Business var childSelect = fsql.Select().As("osku") .WhereIf(string.IsNullOrEmpty(searchOrderRequest.Sku) == false, osku => osku.SkuId == searchOrderRequest.Sku) .WhereIf(string.IsNullOrEmpty(searchOrderRequest.ProductNo) == false, osku => osku.ProductNo == searchOrderRequest.ProductNo); - select = select.Where((o, ocs, oct, ods) => childSelect.Where(osku => osku.OrderId == o.Id).Any()); + select = select.Where((o, ocs, oct) => childSelect.Where(osku => osku.OrderId == o.Id).Any()); } - select = select.WhereIf(searchOrderRequest.OrderState != null, (o, ocs, oct, ods) => o.OrderState == searchOrderRequest.OrderState) - .WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct, ods) => o.StartTime >= searchOrderRequest.StartDate) - .WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct, ods) => o.StartTime <= searchOrderRequest.EndDate) - .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct, ods) => o.StorageType == Enums.StorageType.代发) - .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct, ods) => o.OrderState != Enums.OrderState.已取消) - .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct, ods) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) - .WhereIf(string.IsNullOrEmpty(searchOrderRequest.ContactName) == false, (o, ocs, oct, ods) => ocs.ContactName == searchOrderRequest.ContactName) - .WhereIf(string.IsNullOrEmpty(searchOrderRequest.Waybill) == false, (o, ocs, oct, ods) => o.WaybillNo == searchOrderRequest.Waybill); + select = select.WhereIf(searchOrderRequest.OrderState != null, (o, ocs, oct) => o.OrderState == searchOrderRequest.OrderState) + .WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct) => o.StartTime >= searchOrderRequest.StartDate) + .WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct) => o.StartTime <= searchOrderRequest.EndDate) + .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct) => o.StorageType == Enums.StorageType.代发) + .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct) => o.OrderState != Enums.OrderState.已取消) + .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) + .WhereIf(string.IsNullOrEmpty(searchOrderRequest.ContactName) == false, (o, ocs, oct) => ocs.ContactName == searchOrderRequest.ContactName) + .WhereIf(string.IsNullOrEmpty(searchOrderRequest.Waybill) == false, (o, ocs, oct) => o.WaybillNo == searchOrderRequest.Waybill); } - select = select.Where((o, ocs, oct, ods) => o.ShopId == searchOrderRequest.ShopId) - .OrderByDescending((o, ocs, oct, ods) => o.StartTime); + select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId) + .OrderByDescending((o, ocs, oct) => o.StartTime); - var orderSourceList = select.ToList((o, ocs, oct, ods) => new ExportOrderResponse() + var orderSourceList = select.ToList((o, ocs, oct) => new ExportOrderResponse() { OrderId = o.Id, FreightPrice = o.FreightPrice, @@ -236,7 +251,7 @@ namespace BBWY.Server.Business PlatformCommissionAmount = oct.PlatformCommissionAmount, Profit = oct.Profit, TotalCost = oct.SDCommissionAmount + oct.PlatformCommissionAmount + oct.PurchaseAmount + oct.DeliveryExpressFreight, - PurchaseOrderIds = ods.PurchaseOrderId, + //PurchaseOrderIds = ods.PurchaseOrderId, OrderState = o.OrderState.Value }); @@ -250,6 +265,7 @@ namespace BBWY.Server.Business FirstFreight = g.Sum(g.Value.FirstFreight), StorageAmount = g.Sum(g.Value.StorageAmount) }); + var orderDropShippingList = fsql.Select().Where(ods => orderIdList.Contains(ods.OrderId)).ToList(); foreach (var order in orderSourceList) { @@ -259,84 +275,86 @@ namespace BBWY.Server.Business order.StorageAmount = statistics?.StorageAmount ?? 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); + if (order.StorageType == Enums.StorageType.代发) + order.PurchaseOrderIds = string.Join("|", orderDropShippingList.Where(ods => ods.OrderId == order.OrderId).Select(ods => ods.PurchaseOrderId)); } - return orderSourceList; } public OrderResponse GetOrderById(string orderId) { - var order = fsql.Select().LeftJoin((o, ocs, oct, ods) => o.Id == ocs.OrderId) - .LeftJoin((o, ocs, oct, ods) => o.Id == oct.OrderId) - .LeftJoin((o, ocs, oct, ods) => o.Id == ods.OrderId) - .Where((o, ocs, oct, ods) => o.Id == orderId) - .ToOne((o, ocs, oct, ods) => new Order() - { - Id = o.Id, - BuyerRemark = o.BuyerRemark, - EndTime = o.EndTime, - FreightPrice = o.FreightPrice, - ModifyTime = o.ModifyTime, - OrderPayment = o.OrderPayment, - OrderSellerPrice = o.OrderSellerPrice, - OrderState = o.OrderState, - OrderTotalPrice = o.OrderTotalPrice, - OrderType = o.OrderType, - PayType = o.PayType, - Platform = o.Platform, - ShopId = o.ShopId, - StartTime = o.StartTime, - StorageType = o.StorageType, - StoreId = o.StoreId, - StoreOrder = o.StoreOrder, - VenderRemark = o.VenderRemark, - PurchaseRemark = o.PurchaseRemark, - WaybillNo = o.WaybillNo, - Flag = o.Flag, - SDType = o.SDType, - SDKey = o.SDKey, - SDOperator = o.SDOperator, - SDPayBillNo = o.SDPayBillNo, - SDPayChannel = o.SDPayChannel, - - ContactName = ocs.ContactName, - Address = ocs.Address, - Province = ocs.Province, - County = ocs.County, - Town = ocs.Town, - City = ocs.City, - IsDecode = ocs.IsDecode, - Mobile = ocs.Mobile, - TelePhone = ocs.TelePhone, - - DeliveryExpressFreight = oct.DeliveryExpressFreight, - PlatformCommissionAmount = oct.PlatformCommissionAmount, - PlatformCommissionRatio = oct.PlatformCommissionRatio, - PreferentialAmount = oct.PreferentialAmount, - Profit = oct.Profit, - PurchaseAmount = oct.PurchaseAmount, - IsManualEdited = oct.IsManualEdited, - SDCommissionAmount = oct.SDCommissionAmount, - - BuyerAccount = ods.BuyerAccount, - DeliveryFreight = ods.DeliveryFreight, - PurchaseOrderId = ods.PurchaseOrderId, - PurchasePlatform = ods.PurchasePlatform, - SellerAccount = ods.SellerAccount, - OrderDropShippingSkuAmount = ods.SkuAmount, - OrderDropShippingPurchaseFreight = ods.PurchaseFreight, - }); + var order = fsql.Select().LeftJoin((o, ocs, oct) => o.Id == ocs.OrderId) + .LeftJoin((o, ocs, oct) => o.Id == oct.OrderId) + .Where((o, ocs, oct) => o.Id == orderId) + .ToOne((o, ocs, oct) => new Order() + { + Id = o.Id, + BuyerRemark = o.BuyerRemark, + EndTime = o.EndTime, + FreightPrice = o.FreightPrice, + ModifyTime = o.ModifyTime, + OrderPayment = o.OrderPayment, + OrderSellerPrice = o.OrderSellerPrice, + OrderState = o.OrderState, + OrderTotalPrice = o.OrderTotalPrice, + OrderType = o.OrderType, + PayType = o.PayType, + Platform = o.Platform, + ShopId = o.ShopId, + StartTime = o.StartTime, + StorageType = o.StorageType, + StoreId = o.StoreId, + StoreOrder = o.StoreOrder, + VenderRemark = o.VenderRemark, + PurchaseRemark = o.PurchaseRemark, + WaybillNo = o.WaybillNo, + Flag = o.Flag, + SDType = o.SDType, + SDKey = o.SDKey, + SDOperator = o.SDOperator, + SDPayBillNo = o.SDPayBillNo, + SDPayChannel = o.SDPayChannel, + + ContactName = ocs.ContactName, + Address = ocs.Address, + Province = ocs.Province, + County = ocs.County, + Town = ocs.Town, + City = ocs.City, + IsDecode = ocs.IsDecode, + Mobile = ocs.Mobile, + TelePhone = ocs.TelePhone, + + DeliveryExpressFreight = oct.DeliveryExpressFreight, + PlatformCommissionAmount = oct.PlatformCommissionAmount, + PlatformCommissionRatio = oct.PlatformCommissionRatio, + PreferentialAmount = oct.PreferentialAmount, + Profit = oct.Profit, + PurchaseAmount = oct.PurchaseAmount, + IsManualEdited = oct.IsManualEdited, + SDCommissionAmount = oct.SDCommissionAmount + }); if (order == null) throw new BusinessException("订单不存在"); var orderResponse = order.Map(); - var orderSkuList = fsql.Select().Where(osku => osku.OrderId == orderId).ToList().Map>(); var orderCouponList = fsql.Select().Where(oc => oc.OrderId == orderId).ToList().Map>(); var orderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == orderId && ocd.IsEnabled == true).ToList().Map>(); + var orderDropShippingList = fsql.Select().Where(ods => ods.OrderId == orderId).ToList().Map>(); + orderResponse.OrderDropShippingList = orderDropShippingList; orderResponse.ItemList = orderSkuList; + if (order.StorageType == Enums.StorageType.代发) + { + foreach (var orderSku in orderResponse.ItemList) + { + if (orderSku.OrderDropShippingId == null && (orderResponse.OrderDropShippingList?.Count() ?? 0) > 0) + orderSku.OrderDropShippingId = orderResponse.OrderDropShippingList[0].Id; + } + } + orderResponse.OrderCouponList = orderCouponList; orderResponse.OrderCostDetailList = orderCostDetailList; orderResponse.StoreName = globalConfig.Stores.FirstOrDefault(s => s.StoreId == orderResponse.StoreId)?.StoreName ?? order.StoreId; @@ -735,21 +753,30 @@ namespace BBWY.Server.Business IUpdate updateOrderCost = null; IDelete deletePurchaseOrder = null; IDelete deleteOrderCostDetail = null; + IUpdate updateOrderSku = null; List insertPurchaseOrderList = new List(); List insertOrderCostDetailList = new List(); - #region 代发信息表 - var orderDropShipping = relationPurchaseOrderRequest.OrderDropShipping.Map(); - if (fsql.Select(relationPurchaseOrderRequest.OrderDropShipping.OrderId).Any()) - updateOrderDropShipping = fsql.Update().SetSource(orderDropShipping); - else + #region 代发信息表 + var dbOrderDropShipping = fsql.Select().Where(ods => ods.OrderId == relationPurchaseOrderRequest.OrderDropShipping.OrderId).ToOne(); + if (dbOrderDropShipping == null) { + var orderDropShipping = relationPurchaseOrderRequest.OrderDropShipping.Map(); orderDropShipping.CreateTime = DateTime.Now; orderDropShipping.ShopId = dbOrder.ShopId; + orderDropShipping.Id = idGenerator.NewLong(); insertOrderDropShipping = fsql.Insert(orderDropShipping); + updateOrderSku = fsql.Update().Set(osku => osku.OrderDropShippingId, orderDropShipping.Id) + .Where(osku => osku.OrderId == dbOrder.Id); + } + else + { + var orderDropShippingId = dbOrderDropShipping.Id; + relationPurchaseOrderRequest.OrderDropShipping.Map(dbOrderDropShipping); + dbOrderDropShipping.Id = orderDropShippingId; + updateOrderDropShipping = fsql.Update().IgnoreColumns(new string[] { "CreateTime" }).SetSource(dbOrderDropShipping); } - #endregion #region 采购单表 @@ -859,6 +886,7 @@ namespace BBWY.Server.Business updateOrderDropShipping?.ExecuteAffrows(); insertOrderCost?.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); + updateOrderSku?.ExecuteAffrows(); fsql.Insert(insertPurchaseOrderList).ExecuteAffrows(); fsql.Insert(insertOrderCostDetailList).ExecuteAffrows(); if (dbOrder.StorageType != Enums.StorageType.代发) diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 7e21afd9..38c2eab3 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -103,124 +103,6 @@ namespace BBWY.Server.Business return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest); } - public void FastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest) - { - if (createOnlinePurchaseOrderRequest.Platform != Enums.Platform.阿里巴巴) - throw new NotImplementedException(); - var dbOrder = fsql.Select(createOnlinePurchaseOrderRequest.OrderId).ToOne(); - if (dbOrder == null) - throw new BusinessException("订单不存在"); - //if (dbOrder.OrderState != Model.Enums.OrderState.等待采购) - // throw new BusinessException("只能为等待采购的订单进行采购"); - var orderSku = fsql.Select().Where(osku => osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToOne(); - if (orderSku == null) - throw new BusinessException("订单Sku不存在"); - - var createOrderResponse = platformSDKBusinessList.FirstOrDefault(p => p.Platform == createOnlinePurchaseOrderRequest.Platform) - .FastCreateOrder(createOnlinePurchaseOrderRequest); - - IInsert insertPurchaseOrder = null; - IInsert insertOrderCostDetail = null; - IInsert insertOrderCost = null; - IInsert insertOrderDropShipping = null; - - #region 采购单 - var purchaseOrder = new PurchaseOrder() - { - Id = idGenerator.NewLong(), - CreateTime = DateTime.Now, - ProductId = orderSku.ProductId, - SkuId = orderSku.SkuId, - PurchaseMethod = Enums.PurchaseMethod.线上采购, - PurchaseOrderId = createOrderResponse.PurchaseOrderId, - PurchasePlatform = createOnlinePurchaseOrderRequest.Platform, - PurchaseQuantity = orderSku.ItemTotal.Value, - RemainingQuantity = 0, - ShopId = createOnlinePurchaseOrderRequest.ShopId, - SingleConsumableAmount = 0, - SingleDeliveryFreight = 0, - SingleFirstFreight = 0, - SingleStorageAmount = 0, - SingleOperationAmount = 0, - SingleSkuAmount = createOrderResponse.ProductAmount / orderSku.ItemTotal.Value, - SingleFreight = createOrderResponse.FreightAmount / orderSku.ItemTotal.Value, - StorageType = Enums.StorageType.代发 - }; - insertPurchaseOrder = fsql.Insert(purchaseOrder); - #endregion - - #region 成本明细 - var orderCostDetail = new OrderCostDetail() - { - Id = idGenerator.NewLong(), - ConsumableAmount = 0, - CreateTime = DateTime.Now, - DeductionQuantity = orderSku.ItemTotal.Value, - DeliveryExpressFreight = 0, - FirstFreight = 0, - OperationAmount = 0, - OrderId = createOnlinePurchaseOrderRequest.OrderId, - ProductId = orderSku.ProductId, - PurchaseFreight = createOrderResponse.FreightAmount, - PurchaseOrderPKId = purchaseOrder.Id, - SkuAmount = createOrderResponse.ProductAmount, - SkuId = orderSku.SkuId, - StorageAmount = 0, - UnitCost = purchaseOrder.UnitCost, - TotalCost = createOrderResponse.TotalAmount //purchaseOrder.UnitCost * orderSku.ItemTotal.Value - }; - insertOrderCostDetail = fsql.Insert(orderCostDetail); - #endregion - - #region 订单成本 - var orderCost = new OrderCost() - { - OrderId = orderSku.OrderId, - CreateTime = DateTime.Now, - DeliveryExpressFreight = 0, - IsManualEdited = false, - PlatformCommissionRatio = 0.05M, - PreferentialAmount = dbOrder.PreferentialAmount, - SDCommissionAmount = 0, - PurchaseAmount = createOrderResponse.TotalAmount - }; - orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; - orderCost.Profit = dbOrder.OrderSellerPrice + - dbOrder.FreightPrice - - orderCost.PurchaseAmount - - orderCost.DeliveryExpressFreight - - orderCost.PlatformCommissionAmount; - insertOrderCost = fsql.Insert(orderCost); - #endregion - - #region 采购信息 - var orderDropShipping = new OrderDropShipping() - { - OrderId = createOnlinePurchaseOrderRequest.OrderId, - PurchaseAccountId = createOnlinePurchaseOrderRequest.PurchaseAccountId, - BuyerAccount = createOnlinePurchaseOrderRequest.BuyerAccount, - SellerAccount = createOnlinePurchaseOrderRequest.SellerAccount, - CreateTime = DateTime.Now, - DeliveryFreight = 0, - PurchaseAmount = createOrderResponse.TotalAmount, - PurchaseOrderId = createOrderResponse.PurchaseOrderId, - PurchasePlatform = createOnlinePurchaseOrderRequest.Platform - }; - insertOrderDropShipping = fsql.Insert(orderDropShipping); - #endregion - - fsql.Transaction(() => - { - insertPurchaseOrder.ExecuteAffrows(); - insertOrderCostDetail.ExecuteAffrows(); - insertOrderCost.ExecuteAffrows(); - insertOrderDropShipping.ExecuteAffrows(); - fsql.Update(createOnlinePurchaseOrderRequest.OrderId).SetIf(dbOrder.OrderState == Enums.OrderState.等待采购, o => o.OrderState, Model.Enums.OrderState.待出库) - .Set(o => o.StorageType, Model.Enums.StorageType.代发) - .ExecuteAffrows(); - }); - } - public void NewFastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest) { if (createOnlinePurchaseOrderRequest.PlatformCommissionRatio == 0M) @@ -255,6 +137,7 @@ namespace BBWY.Server.Business #endregion var orderSkus = fsql.Select().Where(osku => osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToList(); + var orderSkuIds = orderSkus.Select(osku => osku.Id).ToList(); var createOrderResponse = platformSDKBusinessList.FirstOrDefault(p => p.Platform == createOnlinePurchaseOrderRequest.Platform) .FastCreateOrder(createOnlinePurchaseOrderRequest); @@ -373,6 +256,7 @@ namespace BBWY.Server.Business #region 代发信息 var orderDropShipping = new OrderDropShipping() { + Id = idGenerator.NewLong(), OrderId = createOnlinePurchaseOrderRequest.OrderId, PurchaseAccountId = createOnlinePurchaseOrderRequest.PurchaseAccountId, BuyerAccount = createOnlinePurchaseOrderRequest.BuyerAccount, @@ -394,11 +278,14 @@ namespace BBWY.Server.Business fsql.Insert(insertPurchaseOrders).ExecuteAffrows(); fsql.Insert(insertPurchaseOrderDetails).ExecuteAffrows(); fsql.Insert(insertOrderCostDetails).ExecuteAffrows(); - insertOrderCost.ExecuteAffrows(); - insertOrderDropShipping.ExecuteAffrows(); + insertOrderCost?.ExecuteAffrows(); + insertOrderDropShipping?.ExecuteAffrows(); fsql.Update(createOnlinePurchaseOrderRequest.OrderId).SetIf(dbOrder.OrderState == Enums.OrderState.等待采购, o => o.OrderState, Model.Enums.OrderState.待出库) .Set(o => o.StorageType, Model.Enums.StorageType.代发) .ExecuteAffrows(); + fsql.Update().Set(osku => osku.OrderDropShippingId, orderDropShipping.Id) + .Where(osku => orderSkuIds.Contains(osku.Id)) + .ExecuteAffrows(); }); } diff --git a/BBWY.Server.Model/Db/Order/Order.cs b/BBWY.Server.Model/Db/Order/Order.cs index 7ecc9569..a8380791 100644 --- a/BBWY.Server.Model/Db/Order/Order.cs +++ b/BBWY.Server.Model/Db/Order/Order.cs @@ -241,41 +241,41 @@ namespace BBWY.Server.Model.Db #endregion #region 代发信息 - /// - /// 买家账号 - /// - [Column(IsIgnore = true)] - public string BuyerAccount { get; set; } - - /// - /// 发货运费 - /// - [Column(IsIgnore = true)] - public decimal DeliveryFreight { get; set; } = 0.00M; - - /// - /// 采购单号 - /// - [Column(IsIgnore = true)] - public string PurchaseOrderId { get; set; } - - /// - /// 采购平台 - /// - [Column(IsIgnore = true)] - public Enums.Platform? PurchasePlatform { get; set; } - - /// - /// 卖家账号 - /// - [Column(IsIgnore = true)] - public string SellerAccount { get; set; } - - [Column(IsIgnore = true)] - public decimal OrderDropShippingSkuAmount { get; set; } - - [Column(IsIgnore = true)] - public decimal OrderDropShippingPurchaseFreight { get; set; } + ///// + ///// 买家账号 + ///// + //[Column(IsIgnore = true)] + //public string BuyerAccount { get; set; } + + ///// + ///// 发货运费 + ///// + //[Column(IsIgnore = true)] + //public decimal DeliveryFreight { get; set; } = 0.00M; + + ///// + ///// 采购单号 + ///// + //[Column(IsIgnore = true)] + //public string PurchaseOrderId { get; set; } + + ///// + ///// 采购平台 + ///// + //[Column(IsIgnore = true)] + //public Enums.Platform? PurchasePlatform { get; set; } + + ///// + ///// 卖家账号 + ///// + //[Column(IsIgnore = true)] + //public string SellerAccount { get; set; } + + //[Column(IsIgnore = true)] + //public decimal OrderDropShippingSkuAmount { get; set; } + + //[Column(IsIgnore = true)] + //public decimal OrderDropShippingPurchaseFreight { get; set; } #endregion } diff --git a/BBWY.Server.Model/Db/Order/OrderDropShipping.cs b/BBWY.Server.Model/Db/Order/OrderDropShipping.cs index ca834339..eff54f94 100644 --- a/BBWY.Server.Model/Db/Order/OrderDropShipping.cs +++ b/BBWY.Server.Model/Db/Order/OrderDropShipping.cs @@ -10,8 +10,11 @@ namespace BBWY.Server.Model.Db [Table(Name = "orderdropshipping", DisableSyncStructure = true)] public partial class OrderDropShipping { + [Column(DbType = "bigint(1)", IsPrimary = true)] + public long Id { get; set; } - [Column(StringLength = 50, IsPrimary = true, IsNullable = false)] + + [Column(StringLength = 50, IsNullable = false)] public string OrderId { get; set; } /// @@ -58,6 +61,12 @@ namespace BBWY.Server.Model.Db [Column(StringLength = 200)] public string PurchaseOrderId { get; set; } + /// + /// 商户订单号 + /// + [Column(StringLength = 50, IsNullable = true)] + public string MerchantOrderId { get; set; } + /// /// 采购平台 /// diff --git a/BBWY.Server.Model/Db/Order/OrderSku.cs b/BBWY.Server.Model/Db/Order/OrderSku.cs index 11c65267..68982858 100644 --- a/BBWY.Server.Model/Db/Order/OrderSku.cs +++ b/BBWY.Server.Model/Db/Order/OrderSku.cs @@ -8,7 +8,7 @@ namespace BBWY.Server.Model.Db public partial class OrderSku { - [Column(IsPrimary = true)] + [Column(DbType = "bigint(1)", IsPrimary = true)] public long Id { get; set; } [Column(DbType = "datetime")] @@ -49,6 +49,12 @@ namespace BBWY.Server.Model.Db [Column(StringLength = 255)] public string Logo { get; set; } + + /// + /// 代发信息Id + /// + [Column(DbType = "bigint(1)", IsNullable = true)] + public long? OrderDropShippingId { get; set; } } } diff --git a/BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs b/BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs index 3894bf22..41075292 100644 --- a/BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs +++ b/BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs @@ -177,7 +177,7 @@ namespace BBWY.Server.Model.Dto /// /// 代发信息 /// - public OrderDropShippingResponse OrderDropShipping { get; set; } + public IList OrderDropShippingList { get; set; } } public class OrderListResponse diff --git a/BBWY.Server.Model/Dto/Response/Order/OrderSkuResponse.cs b/BBWY.Server.Model/Dto/Response/Order/OrderSkuResponse.cs index e53f6d71..af06e542 100644 --- a/BBWY.Server.Model/Dto/Response/Order/OrderSkuResponse.cs +++ b/BBWY.Server.Model/Dto/Response/Order/OrderSkuResponse.cs @@ -1,6 +1,6 @@ namespace BBWY.Server.Model.Dto { - public class OrderSkuResponse: ProductSkuResponse + public class OrderSkuResponse : ProductSkuResponse { public string OrderId { get; set; } @@ -10,5 +10,10 @@ public int ItemTotal { get; set; } public string ProductNo { get; set; } + + /// + /// 代发信息Id + /// + public long? OrderDropShippingId { get; set; } } } diff --git a/BBWY.Server.Model/MappingProfiles.cs b/BBWY.Server.Model/MappingProfiles.cs index d93206b7..d5228790 100644 --- a/BBWY.Server.Model/MappingProfiles.cs +++ b/BBWY.Server.Model/MappingProfiles.cs @@ -25,6 +25,7 @@ namespace BBWY.Server.Model CreateMap(); CreateMap(); + CreateMap(); CreateMap(); CreateMap(); CreateMap(); @@ -51,16 +52,16 @@ namespace BBWY.Server.Model .ForPath(t => t.OrderCost.PlatformCommissionRatio, opt => opt.MapFrom(f => f.PlatformCommissionRatio ?? 0)) .ForPath(t => t.OrderCost.PreferentialAmount, opt => opt.MapFrom(f => f.PreferentialAmount)) .ForPath(t => t.OrderCost.IsManualEdited, opt => opt.MapFrom(f => f.IsManualEdited)) - .ForPath(t => t.OrderCost.SDCommissionAmount, opt => opt.MapFrom(f => f.SDCommissionAmount)) - .ForPath(t => t.OrderDropShipping.PurchaseAmount, opt => opt.MapFrom(f => f.PurchaseAmount)) - .ForPath(t => t.OrderDropShipping.PurchaseOrderId, opt => opt.MapFrom(f => f.PurchaseOrderId)) - .ForPath(t => t.OrderDropShipping.OrderId, opt => opt.MapFrom(f => f.Id)) - .ForPath(t => t.OrderDropShipping.DeliveryFreight, opt => opt.MapFrom(f => f.DeliveryFreight)) - .ForPath(t => t.OrderDropShipping.PurchasePlatform, opt => opt.MapFrom(f => f.PurchasePlatform)) - .ForPath(t => t.OrderDropShipping.BuyerAccount, opt => opt.MapFrom(f => f.BuyerAccount)) - .ForPath(t => t.OrderDropShipping.SellerAccount, opt => opt.MapFrom(f => f.SellerAccount)) - .ForPath(t => t.OrderDropShipping.SkuAmount, opt => opt.MapFrom(f => f.OrderDropShippingSkuAmount)) - .ForPath(t => t.OrderDropShipping.PurchaseFreight, opt => opt.MapFrom(f => f.OrderDropShippingPurchaseFreight)); + .ForPath(t => t.OrderCost.SDCommissionAmount, opt => opt.MapFrom(f => f.SDCommissionAmount)); + //.ForPath(t => t.OrderDropShipping.PurchaseAmount, opt => opt.MapFrom(f => f.PurchaseAmount)) + //.ForPath(t => t.OrderDropShipping.PurchaseOrderId, opt => opt.MapFrom(f => f.PurchaseOrderId)) + //.ForPath(t => t.OrderDropShipping.OrderId, opt => opt.MapFrom(f => f.Id)) + //.ForPath(t => t.OrderDropShipping.DeliveryFreight, opt => opt.MapFrom(f => f.DeliveryFreight)) + //.ForPath(t => t.OrderDropShipping.PurchasePlatform, opt => opt.MapFrom(f => f.PurchasePlatform)) + //.ForPath(t => t.OrderDropShipping.BuyerAccount, opt => opt.MapFrom(f => f.BuyerAccount)) + //.ForPath(t => t.OrderDropShipping.SellerAccount, opt => opt.MapFrom(f => f.SellerAccount)) + //.ForPath(t => t.OrderDropShipping.SkuAmount, opt => opt.MapFrom(f => f.OrderDropShippingSkuAmount)) + //.ForPath(t => t.OrderDropShipping.PurchaseFreight, opt => opt.MapFrom(f => f.OrderDropShippingPurchaseFreight)); } } diff --git a/BBWY.Test/BBWY.Test.csproj b/BBWY.Test/BBWY.Test.csproj index 37a5f62f..a2a889e2 100644 --- a/BBWY.Test/BBWY.Test.csproj +++ b/BBWY.Test/BBWY.Test.csproj @@ -6,6 +6,8 @@ + + diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index b60a2905..775b8ac3 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -1,5 +1,6 @@ using BBWY.Common.Models; using BBWY.JDSDK.Request; +using BBWY.Server.Model.Db; using BBWY.Server.Model.Dto; using Jd.Api; using Jd.Api.Request; @@ -10,6 +11,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; +using System.Threading.Tasks; using io = System.IO; namespace BBWY.Test { @@ -22,16 +24,44 @@ namespace BBWY.Test static void Main(string[] args) { - var jdClient = GetJdClient("120EA9EC65AB017567D78CC1139EEEA5", "866a9877f5f24b03b537483b4defe75d"); - var response = jdClient.Execute(new FceAlphaGetVenderCarrierRequest(), "940b1e24d84843ffbbee3833984a6f0bwyjf", DateTime.Now.ToLocalTime()); - if (response.IsError) - throw new BusinessException($"{response.RealErrorMsg}"); - //if (response.Json == null) - // response.Json = JObject.Parse(response.Body); + var sqlConnectString = "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy_test;charset=utf8;sslmode=none;"; + var fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, sqlConnectString).Build(); + var orderDropShippingList = fsql.Select() + .InnerJoin((osku, ods) => osku.OrderId == ods.OrderId) + .Where((osku, ods) => osku.OrderDropShippingId == null) + .ToList((osku, ods) => new OrderDropShipping + { + Id = ods.Id, + OrderId = ods.OrderId + }); + + var orderDropShoppingCount = orderDropShippingList.Count(); + var threadCount = 3; + + var perTaskCount = orderDropShoppingCount / threadCount; + var lastTaskCount = orderDropShoppingCount % threadCount; + + Action, int, int> insertAction = (taskList, threadIndex, lessCount) => + { + foreach (var ods in taskList) + { + fsql.Update().Set(osku => osku.OrderDropShippingId, ods.Id).Where(osku => osku.OrderId == ods.OrderId).ExecuteAffrows(); + lessCount--; + Console.WriteLine($"ThreadId:{threadIndex} OrderDropShippingId {ods.Id},Less {lessCount}"); + } + }; + + for (var i = 0; i < threadCount; i++) + { + var taskList = orderDropShippingList.Skip(i * perTaskCount).Take(perTaskCount + (i == threadCount - 1 ? lastTaskCount : 0)).ToList(); + var threadIndex = i; + Task.Factory.StartNew(() => + { + var lessCount = taskList.Count(); + insertAction(taskList, threadIndex, lessCount); + }); + } - Console.Write(JsonConvert.SerializeObject(response)); - //orderCount = sopResponse.Json["jingdong_pop_order_enSearch_responce"]["searchorderinfo_result"].Value("orderTotal"); - //orderJtokens.AddRange((JArray)sopResponse.Json["jingdong_pop_order_enSearch_responce"]["searchorderinfo_result"]["orderInfoList"]); Console.ReadKey(); } }