|
|
@ -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<Order, OrderConsignee, OrderCost, OrderDropShipping>().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<Order, OrderConsignee, OrderCost>().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<OrderSku>().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<IList<OrderResponse>>(); |
|
|
|
|
|
|
@ -154,10 +153,27 @@ namespace BBWY.Server.Business |
|
|
|
{ |
|
|
|
var orderIdList = orderList.Select(o => o.Id).ToList(); |
|
|
|
|
|
|
|
#region 处理代发信息
|
|
|
|
var orderDropShippingList = fsql.Select<OrderDropShipping>().Where(ods => orderIdList.Contains(ods.OrderId)).ToList().Map<IList<OrderDropShippingResponse>>(); |
|
|
|
foreach (var order in orderList) |
|
|
|
order.OrderDropShippingList = orderDropShippingList.Where(ods => ods.OrderId == order.Id).ToList(); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 处理Sku
|
|
|
|
var orderSkuList = fsql.Select<OrderSku>().Where(osku => orderIdList.Contains(osku.OrderId)).ToList().Map<IList<OrderSkuResponse>>(); |
|
|
|
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<Order, OrderConsignee, OrderCost, OrderDropShipping>().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<Order, OrderConsignee, OrderCost>().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<OrderSku>().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<OrderDropShipping>().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<Order, OrderConsignee, OrderCost, OrderDropShipping>().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<Order, OrderConsignee, OrderCost>().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<OrderResponse>(); |
|
|
|
|
|
|
|
var orderSkuList = fsql.Select<OrderSku>().Where(osku => osku.OrderId == orderId).ToList().Map<IList<OrderSkuResponse>>(); |
|
|
|
var orderCouponList = fsql.Select<OrderCoupon>().Where(oc => oc.OrderId == orderId).ToList().Map<IList<OrderCouponResponse>>(); |
|
|
|
var orderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == orderId && ocd.IsEnabled == true).ToList().Map<IList<OrderCostDetailResponse>>(); |
|
|
|
var orderDropShippingList = fsql.Select<OrderDropShipping>().Where(ods => ods.OrderId == orderId).ToList().Map<IList<OrderDropShippingResponse>>(); |
|
|
|
|
|
|
|
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<OrderCost> updateOrderCost = null; |
|
|
|
IDelete<PurchaseOrder> deletePurchaseOrder = null; |
|
|
|
IDelete<OrderCostDetail> deleteOrderCostDetail = null; |
|
|
|
IUpdate<OrderSku> updateOrderSku = null; |
|
|
|
List<PurchaseOrder> insertPurchaseOrderList = new List<PurchaseOrder>(); |
|
|
|
List<OrderCostDetail> insertOrderCostDetailList = new List<OrderCostDetail>(); |
|
|
|
|
|
|
|
|
|
|
|
#region 代发信息表
|
|
|
|
var orderDropShipping = relationPurchaseOrderRequest.OrderDropShipping.Map<OrderDropShipping>(); |
|
|
|
if (fsql.Select<OrderDropShipping>(relationPurchaseOrderRequest.OrderDropShipping.OrderId).Any()) |
|
|
|
updateOrderDropShipping = fsql.Update<OrderDropShipping>().SetSource(orderDropShipping); |
|
|
|
else |
|
|
|
#region 代发信息表
|
|
|
|
var dbOrderDropShipping = fsql.Select<OrderDropShipping>().Where(ods => ods.OrderId == relationPurchaseOrderRequest.OrderDropShipping.OrderId).ToOne(); |
|
|
|
if (dbOrderDropShipping == null) |
|
|
|
{ |
|
|
|
var orderDropShipping = relationPurchaseOrderRequest.OrderDropShipping.Map<OrderDropShipping>(); |
|
|
|
orderDropShipping.CreateTime = DateTime.Now; |
|
|
|
orderDropShipping.ShopId = dbOrder.ShopId; |
|
|
|
orderDropShipping.Id = idGenerator.NewLong(); |
|
|
|
insertOrderDropShipping = fsql.Insert(orderDropShipping); |
|
|
|
updateOrderSku = fsql.Update<OrderSku>().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<OrderDropShipping>().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.代发) |
|
|
|