diff --git a/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs b/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs index 9e66e2b..fde50af 100644 --- a/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs +++ b/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs @@ -142,7 +142,7 @@ namespace BBWYB.Client.Models /// public OrderCostResponse OrderCost { get; set; } - public OrderPurchaseInfoResponse OrderPurchaseInfo { get; set; } + public IList OrderPurchaseInfoList { get; set; } /// /// 订单成本明细列表 diff --git a/BBWYB.Client/Models/Order/Order.cs b/BBWYB.Client/Models/Order/Order.cs index fcc5c68..c4b97ba 100644 --- a/BBWYB.Client/Models/Order/Order.cs +++ b/BBWYB.Client/Models/Order/Order.cs @@ -148,7 +148,7 @@ namespace BBWYB.Client.Models /// public OrderCost OrderCost { get; set; } - public OrderPurchaseInfo OrderPurchaseInfo { get; set; } + public IList OrderPurchaseInfoList { get; set; } public IList ItemList { get; set; } diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 642f713..ad85263 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -9,6 +9,7 @@ using SDKAdapter; using SDKAdapter.OperationPlatform.Client; using SDKAdapter.OperationPlatform.Models; using System.Linq.Expressions; +using System.Security.Cryptography; using Yitter.IdGenerator; namespace BBWYB.Server.Business @@ -22,15 +23,14 @@ namespace BBWYB.Server.Business this.opPlatformClientFactory = opPlatformClientFactory; } - private ISelect GetOrderListQueryConditions(QueryOrderRequest request) + private ISelect GetOrderListQueryConditions(QueryOrderRequest request) { - var select = fsql.Select() - .LeftJoin((o, ocs, oct, op) => o.Id == ocs.OrderId) - .LeftJoin((o, ocs, oct, op) => o.Id == oct.OrderId) - .LeftJoin((o, ocs, oct, op) => o.Id == op.OrderId); + var select = fsql.Select() + .LeftJoin((o, ocs, oct) => o.Id == ocs.OrderId) + .LeftJoin((o, ocs, oct) => o.Id == oct.OrderId); if (!string.IsNullOrEmpty(request.OrderId)) { - select = select.Where((o, ocs, oct, op) => o.Id == request.OrderId); + select = select.Where((o, ocs, oct) => o.Id == request.OrderId); } else { @@ -39,27 +39,27 @@ namespace BBWYB.Server.Business var childSelect = fsql.Select().As("osku") .WhereIf(!string.IsNullOrEmpty(request.Sku), osku => osku.SkuId == request.Sku) .WhereIf(!string.IsNullOrEmpty(request.ProductId), osku => osku.ProductId == request.ProductId); - select = select.Where((o, ocs, oct, op) => 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(request.OrderState != null, (o, ocs, oct, op) => o.OrderState == request.OrderState) - .WhereIf(request.StartDate != null, (o, ocs, oct, op) => o.StartTime >= request.StartDate) - .WhereIf(request.EndDate != null, (o, ocs, oct, op) => o.StartTime <= request.EndDate) - .WhereIf(!string.IsNullOrEmpty(request.ClientOrderId), (o, ocs, oct, op) => o.ClientOrderId == request.ClientOrderId) - .WhereIf(!string.IsNullOrEmpty(request.SourceShopName), (o, ocs, oct, op) => o.SourceShopName == request.SourceShopName) - .WhereIf(!string.IsNullOrEmpty(request.SourceSku), (o, ocs, oct, op) => o.SourceSku == request.SourceSku); + select = select.WhereIf(request.OrderState != null, (o, ocs, oct) => o.OrderState == request.OrderState) + .WhereIf(request.StartDate != null, (o, ocs, oct) => o.StartTime >= request.StartDate) + .WhereIf(request.EndDate != null, (o, ocs, oct) => o.StartTime <= request.EndDate) + .WhereIf(!string.IsNullOrEmpty(request.ClientOrderId), (o, ocs, oct) => o.ClientOrderId == request.ClientOrderId) + .WhereIf(!string.IsNullOrEmpty(request.SourceShopName), (o, ocs, oct) => o.SourceShopName == request.SourceShopName) + .WhereIf(!string.IsNullOrEmpty(request.SourceSku), (o, ocs, oct) => o.SourceSku == request.SourceSku); } - select = select.WhereIf(request.ShopId != null, (o, ocs, oct, op) => o.ShopId == request.ShopId); + select = select.WhereIf(request.ShopId != null, (o, ocs, oct) => o.ShopId == request.ShopId); //select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId); return select; } - private Expression> GetOrderListField() + private Expression> GetOrderListField() { - return (o, ocs, oct, op) => new Order() + return (o, ocs, oct) => new Order() { Id = o.Id, BuyerRemark = o.BuyerRemark, @@ -101,14 +101,7 @@ namespace BBWYB.Server.Business PlatformCommissionRatio = oct.PlatformCommissionRatio, Profit = oct.Profit, PurchaseAmount = oct.PurchaseAmount, - IsManualEdited = oct.IsManualEdited, - - PurchaseAccountId = op.PurchaseAccountId, - PurchaseAccountName = op.PurchaseAccountName, - PurchaseMethod = op.PurchaseMethod, - PurchaseOrderId = op.PurchaseOrderId, - PurchasePlatform = op.PurchasePlatform, - PurchaserName = op.PurchaserName + IsManualEdited = oct.IsManualEdited }; } @@ -117,7 +110,7 @@ namespace BBWYB.Server.Business if (request.EndDate != null) request.EndDate = request.EndDate.Value.Date.AddDays(1).AddSeconds(-1); - var select = GetOrderListQueryConditions(request).OrderByDescending((o, ocs, oct, op) => o.StartTime) + var select = GetOrderListQueryConditions(request).OrderByDescending((o, ocs, oct) => o.StartTime) .Count(out var total) .Page(request.PageIndex, request.PageSize); @@ -141,6 +134,12 @@ namespace BBWYB.Server.Business foreach (var order in orderList) order.OrderCostDetailList = orderCostDetailList.Where(ocd => ocd.OrderId == order.Id).ToList(); #endregion + + #region 处理采购信息 + var orderPurchaseInfoList = fsql.Select().Where(op => orderIdList.Contains(op.OrderId)).ToList(); + foreach (var order in orderList) + order.OrderPurchaseInfoList = orderPurchaseInfoList.Where(op => op.OrderId == order.Id).ToList(); + #endregion } return new OrderListResponse() { diff --git a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs index e3b7801..8e97f07 100644 --- a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs @@ -142,7 +142,7 @@ /// /// 订单采购信息 /// - public OrderPurchaseInfoResponse OrderPurchaseInfo { get; set; } + public IList OrderPurchaseInfoList { get; set; } /// /// 订单成本明细列表 diff --git a/BBWYB.Server.Model/MappingProfiles.cs b/BBWYB.Server.Model/MappingProfiles.cs index c3f6dfb..467dbb8 100644 --- a/BBWYB.Server.Model/MappingProfiles.cs +++ b/BBWYB.Server.Model/MappingProfiles.cs @@ -45,13 +45,8 @@ namespace BBWYB.Server.Model .ForPath(t => t.OrderCost.PlatformCommissionAmount, opt => opt.MapFrom(f => f.PlatformCommissionAmount ?? 0)) .ForPath(t => t.OrderCost.PlatformCommissionRatio, opt => opt.MapFrom(f => f.PlatformCommissionRatio ?? 0)) .ForPath(t => t.OrderCost.PreferentialAmount, opt => opt.MapFrom(f => f.PreferentialAmount)) - .ForPath(t => t.OrderCost.IsManualEdited, opt => opt.MapFrom(f => f.IsManualEdited)) - .ForPath(t => t.OrderPurchaseInfo.PurchasePlatform, opt => opt.MapFrom(f => f.PurchasePlatform)) - .ForPath(t => t.OrderPurchaseInfo.PurchaserName, opt => opt.MapFrom(f => f.PurchaserName)) - .ForPath(t => t.OrderPurchaseInfo.PurchaseAccountName, opt => opt.MapFrom(f => f.PurchaseAccountName)) - .ForPath(t => t.OrderPurchaseInfo.PurchaseAccountId, opt => opt.MapFrom(f => f.PurchaseAccountId)) - .ForPath(t => t.OrderPurchaseInfo.PurchaseMethod, opt => opt.MapFrom(f => f.PurchaseMethod)) - .ForPath(t => t.OrderPurchaseInfo.PurchaseOrderId, opt => opt.MapFrom(f => f.PurchaseOrderId)); + .ForPath(t => t.OrderCost.IsManualEdited, opt => opt.MapFrom(f => f.IsManualEdited)); + CreateMap(); //CreateMap();