From 441221486d46c0b1faac29a72d466209e86c9056 Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Mon, 20 Jun 2022 02:37:18 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E5=8F=91=E4=BF=A1=E6=81=AF=E4=B8=80?=
=?UTF-8?q?=E5=AF=B9=E5=A4=9A=E8=BF=87=E5=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Order/OrderDropShippingResponse.cs | 4 +
.../APIModel/Response/Order/OrderResponse.cs | 2 +-
.../Response/Order/OrderSkuResponse.cs | 5 +
BBWY.Client/Models/Enums.cs | 3 +-
BBWY.Client/Models/Order/Order.cs | 2 +-
BBWY.Client/Models/Order/OrderDropShipping.cs | 4 +-
BBWY.Client/Models/Order/OrderSku.cs | 5 +
.../ViewModels/Order/OrderListViewModel.cs | 2 +-
BBWY.Client/Views/MainWindow.xaml | 2 +-
BBWY.Client/Views/Order/OrderList.xaml | 82 +++---
.../Controllers/PurchaseOrderController.cs | 10 -
BBWY.Server.Business/Order/OrderBusiness.cs | 244 ++++++++++--------
.../PurchaseOrder/PurchaseOrderBusiness.cs | 127 +--------
BBWY.Server.Model/Db/Order/Order.cs | 70 ++---
.../Db/Order/OrderDropShipping.cs | 11 +-
BBWY.Server.Model/Db/Order/OrderSku.cs | 8 +-
.../Dto/Response/Order/OrderResponse.cs | 2 +-
.../Dto/Response/Order/OrderSkuResponse.cs | 7 +-
BBWY.Server.Model/MappingProfiles.cs | 21 +-
BBWY.Test/BBWY.Test.csproj | 2 +
BBWY.Test/Program.cs | 48 +++-
21 files changed, 319 insertions(+), 342 deletions(-)
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();
}
}