|
|
@ -25,7 +25,7 @@ namespace BBWY.Server.Business |
|
|
|
{ |
|
|
|
private ILogger logger; |
|
|
|
private IFreeSql fsql; |
|
|
|
|
|
|
|
|
|
|
|
private IIdGenerator idGenerator; |
|
|
|
private TaskSchedulerManager taskSchedulerManager; |
|
|
|
private MDSBusiness mdsBusiness; |
|
|
@ -52,13 +52,8 @@ namespace BBWY.Server.Business |
|
|
|
freeSqlMultiDBManagerLazy = new Lazy<FreeSqlMultiDBManager>(() => serviceProvider.GetService<FreeSqlMultiDBManager>()); |
|
|
|
} |
|
|
|
|
|
|
|
public OrderListResponse GetOrderList(SearchOrderRequest searchOrderRequest) |
|
|
|
private ISelect<Order, OrderConsignee, OrderCost> GetOrderListSelect(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 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)) |
|
|
@ -88,11 +83,24 @@ namespace BBWY.Server.Business |
|
|
|
} |
|
|
|
|
|
|
|
select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId); |
|
|
|
var currentConditionsTotalProfit = select.ToAggregate((o, ocs, oct) => oct.Sum(oct.Key.Profit)); |
|
|
|
|
|
|
|
select = select.OrderByDescending((o, ocs, oct) => o.StartTime) |
|
|
|
.Count(out var total) |
|
|
|
.Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize); |
|
|
|
return select; |
|
|
|
} |
|
|
|
|
|
|
|
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((o, ocs, oct) => new Order() |
|
|
|
{ |
|
|
|