diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index a432714e..6decf4d0 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -43,7 +43,7 @@ namespace BBWY.Client.ViewModels private bool excludeCanceled; private Random random; private GlobalContext globalContext; - private bool includeAfterOrder; + private bool? includeAfterOrder; public IList OrderList { get; set; } @@ -72,7 +72,7 @@ namespace BBWY.Client.ViewModels public bool ExcludeSD { get => excludeSD; set { Set(ref excludeSD, value); } } public bool ExcludeCanceled { get => excludeCanceled; set { Set(ref excludeCanceled, value); } } - public bool IncludeAfterOrder { get => includeAfterOrder; set { Set(ref includeAfterOrder, value); } } + public bool? IncludeAfterOrder { get => includeAfterOrder; set { Set(ref includeAfterOrder, value); } } public ToDayOrderAchievement ToDayOrderAchievement { get; set; } @@ -177,7 +177,7 @@ namespace BBWY.Client.ViewModels EndDate = DateTime.Now; StartDate = DateTime.Now.Date.AddDays(-6); PageIndex = 1; - IncludeAfterOrder = false; + IncludeAfterOrder = null; } public override void Refresh() @@ -201,6 +201,8 @@ namespace BBWY.Client.ViewModels { InitSearchParam(); this.OrderState = orderState; + if (orderState != null) + IncludeAfterOrder = false; Task.Factory.StartNew(() => LoadOrder(1)); //选择状态查询订单 } diff --git a/BBWY.Client/Views/MainWindow.xaml b/BBWY.Client/Views/MainWindow.xaml index 529e493c..c167e54e 100644 --- a/BBWY.Client/Views/MainWindow.xaml +++ b/BBWY.Client/Views/MainWindow.xaml @@ -26,7 +26,7 @@ - + diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 4523ac79..52f63ed0 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -87,6 +87,7 @@ namespace BBWY.Server.Business 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.IsContainsAfterSaleOrder != null, (o, ocs, oct) => o.IsAfterSaleOrder == searchOrderRequest.IsContainsAfterSaleOrder) .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) @@ -95,7 +96,6 @@ namespace BBWY.Server.Business } select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId) - .Where((o, ocs, oct) => o.IsAfterSaleOrder == searchOrderRequest.IsContainsAfterSaleOrder) .OrderByDescending((o, ocs, oct) => o.StartTime) .Count(out var total) .Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize); @@ -204,12 +204,9 @@ namespace BBWY.Server.Business #endregion #region 处理售后信息 - if (searchOrderRequest.IsContainsAfterSaleOrder) - { - var afterSaleOrderList = fsql.Select().Where(aso => orderIdList.Contains(aso.OrderId)).ToList(); - foreach (var order in orderList) - order.AfterSaleOrderList = afterSaleOrderList.Where(aso => aso.OrderId == order.Id).ToList(); - } + var afterSaleOrderList = fsql.Select().Where(aso => orderIdList.Contains(aso.OrderId)).ToList(); + foreach (var order in orderList) + order.AfterSaleOrderList = afterSaleOrderList.Where(aso => aso.OrderId == order.Id).ToList(); #endregion #region 翻译仓库Id @@ -1038,7 +1035,7 @@ namespace BBWY.Server.Business afterSaleOrderSkuList.Add(afterSaleOrder); } - var refundAfterSaleOrderSkuIds = afterSaleOrderSkuList.Where(aso => aso.RefundAmount != 0).Select(aso => aso.SkuId); + var refundAfterSaleOrderSkuIds = afterSaleOrderSkuList.Where(aso => aso.RefundAmount != 0 && aso.ProductResult == Enums.ProductResult.退款退货).Select(aso => aso.SkuId); dbOrderCost.RefundAmount = afterSaleOrderSkuList.Sum(aso => aso.RefundAmount ?? 0); @@ -1048,8 +1045,8 @@ namespace BBWY.Server.Business //退款采购货款 dbOrderCost.RefundPurchaseAmount = fsql.Select().Where(ocd => ocd.OrderId == editAfterSaleOrderSkuRequest.OrderId && - refundAfterSaleOrderSkuIds.Contains(ocd.SkuId)) - .Sum(ocd => ocd.TotalCost); + refundAfterSaleOrderSkuIds.Contains(ocd.SkuId)) + .Sum(ocd => ocd.TotalCost); //退款之后平台扣点 dbOrderCost.PlatformCommissionAmount = (dbOrder.OrderSellerPrice - dbOrderCost.RefundAmount) * (dbOrderCost?.PlatformCommissionRatio ?? 0.05M); diff --git a/BBWY.Server.Model/Dto/Request/Order/SearchOrderRequest.cs b/BBWY.Server.Model/Dto/Request/Order/SearchOrderRequest.cs index 46138b18..281c7c95 100644 --- a/BBWY.Server.Model/Dto/Request/Order/SearchOrderRequest.cs +++ b/BBWY.Server.Model/Dto/Request/Order/SearchOrderRequest.cs @@ -56,7 +56,7 @@ namespace BBWY.Server.Model.Dto /// /// 是否包含售后单 /// - public bool IsContainsAfterSaleOrder { get;set; } + public bool? IsContainsAfterSaleOrder { get;set; } } }