shanji 3 years ago
parent
commit
4c0dee49cb
  1. 101
      BBWY.Server.Business/Order/OrderBusiness.cs

101
BBWY.Server.Business/Order/OrderBusiness.cs

@ -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("订单不存在");

Loading…
Cancel
Save