|
|
@ -16,6 +16,7 @@ using NLog; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Linq.Expressions; |
|
|
|
using System.Net.Http; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Yitter.IdGenerator; |
|
|
@ -88,22 +89,9 @@ namespace BBWY.Server.Business |
|
|
|
return select; |
|
|
|
} |
|
|
|
|
|
|
|
public OrderListResponse GetOrderList(SearchOrderRequest searchOrderRequest) |
|
|
|
private Expression<Func<Order, OrderConsignee, OrderCost, Order>> GetOrderListField() |
|
|
|
{ |
|
|
|
if (searchOrderRequest.OrderState == Enums.OrderState.已取消) |
|
|
|
searchOrderRequest.ExcludeCanceled = false; |
|
|
|
if (searchOrderRequest.EndDate != null) |
|
|
|
searchOrderRequest.EndDate = searchOrderRequest.EndDate.Value.Date.AddDays(1).AddSeconds(-1); |
|
|
|
|
|
|
|
|
|
|
|
var noCancelSelect = GetOrderListSelect(searchOrderRequest); |
|
|
|
var currentConditionsTotalProfit = noCancelSelect.Where((o, ocs, oct) => o.OrderState != Enums.OrderState.已取消).ToAggregate((o, ocs, oct) => oct.Sum(oct.Key.Profit)); |
|
|
|
|
|
|
|
var select = GetOrderListSelect(searchOrderRequest).OrderByDescending((o, ocs, oct) => o.StartTime) |
|
|
|
.Count(out var total) |
|
|
|
.Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize); |
|
|
|
|
|
|
|
var orderSourceList = select.ToList((o, ocs, oct) => new Order() |
|
|
|
return (o, ocs, oct) => new Order() |
|
|
|
{ |
|
|
|
Id = o.Id, |
|
|
|
BuyerRemark = o.BuyerRemark, |
|
|
@ -155,7 +143,25 @@ namespace BBWY.Server.Business |
|
|
|
RefundAmount = oct.RefundAmount, |
|
|
|
RefundPurchaseAmount = oct.RefundPurchaseAmount, |
|
|
|
AfterTotalCost = oct.AfterTotalCost |
|
|
|
}); |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
public OrderListResponse GetOrderList(SearchOrderRequest searchOrderRequest) |
|
|
|
{ |
|
|
|
if (searchOrderRequest.OrderState == Enums.OrderState.已取消) |
|
|
|
searchOrderRequest.ExcludeCanceled = false; |
|
|
|
if (searchOrderRequest.EndDate != null) |
|
|
|
searchOrderRequest.EndDate = searchOrderRequest.EndDate.Value.Date.AddDays(1).AddSeconds(-1); |
|
|
|
|
|
|
|
|
|
|
|
var noCancelSelect = GetOrderListSelect(searchOrderRequest); |
|
|
|
var currentConditionsTotalProfit = noCancelSelect.Where((o, ocs, oct) => o.OrderState != Enums.OrderState.已取消).ToAggregate((o, ocs, oct) => oct.Sum(oct.Key.Profit)); |
|
|
|
|
|
|
|
var select = GetOrderListSelect(searchOrderRequest).OrderByDescending((o, ocs, oct) => o.StartTime) |
|
|
|
.Count(out var total) |
|
|
|
.Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize); |
|
|
|
|
|
|
|
var orderSourceList = select.ToList(GetOrderListField()); |
|
|
|
var orderList = orderSourceList.Map<IList<OrderResponse>>(); |
|
|
|
|
|
|
|
if (orderList.Count > 0) |
|
|
@ -197,11 +203,11 @@ namespace BBWY.Server.Business |
|
|
|
order.OrderCostDetailList = orderCostDetailList.Where(ocd => ocd.OrderId == order.Id).ToList(); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
//#region 处理售后信息
|
|
|
|
//var afterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => orderIdList.Contains(aso.OrderId)).ToList<AfterSaleOrderResponse>();
|
|
|
|
//foreach (var order in orderList)
|
|
|
|
// order.AfterSaleOrderList = afterSaleOrderList.Where(aso => aso.OrderId == order.Id).ToList();
|
|
|
|
//#endregion
|
|
|
|
#region 处理售后信息
|
|
|
|
var afterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => orderIdList.Contains(aso.OrderId)).ToList<AfterSaleOrderResponse>(); |
|
|
|
foreach (var order in orderList) |
|
|
|
order.AfterSaleOrderList = afterSaleOrderList.Where(aso => aso.OrderId == order.Id).ToList(); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 翻译仓库Id
|
|
|
|
foreach (var order in orderList) |
|
|
@ -306,58 +312,7 @@ namespace BBWY.Server.Business |
|
|
|
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, |
|
|
|
IsAfterSaleOrder = o.IsAfterSaleOrder, |
|
|
|
|
|
|
|
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, |
|
|
|
RefundAmount = oct.RefundAmount, |
|
|
|
RefundPurchaseAmount = oct.RefundPurchaseAmount, |
|
|
|
AfterTotalCost = oct.AfterTotalCost |
|
|
|
}); |
|
|
|
.ToOne(GetOrderListField()); |
|
|
|
if (order == null) |
|
|
|
throw new BusinessException("订单不存在"); |
|
|
|
|
|
|
|