diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index ac289fc..0146524 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -2,6 +2,7 @@ using BBWYB.Common.Http; using BBWYB.Common.Log; using BBWYB.Common.Models; +using BBWYB.Server.Business.Extensions; using BBWYB.Server.Model; using BBWYB.Server.Model.Db; using BBWYB.Server.Model.Dto; @@ -53,8 +54,8 @@ namespace BBWYB.Server.Business select = select.Where((o, ocs, oct) => childSelect.Where(opi => opi.OrderId == o.Id).Any()); } - select = select.WhereIf(request.OrderState != null && request.OrderState != Enums.OrderState.待配置, (o, ocs, oct) => o.OrderState == request.OrderState) - .WhereIf(request.OrderState == Enums.OrderState.待配置, (o, ocs, oct) => o.OrderState != Enums.OrderState.已取消 && o.PackConfigState != null)//&&o.OrderState> Enums.OrderState.等待采购 + select = select.WhereIf(request.OrderState != null, (o, ocs, oct) => o.OrderState == request.OrderState) + .WhereIf(request.IsWaitConfig, (o, ocs, oct) => o.OrderState != Enums.OrderState.已取消 && o.IsPurchased == true) .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) @@ -258,7 +259,7 @@ namespace BBWYB.Server.Business public void EditPrice(OP_EditPriceRequest request) { - var client = opPlatformClientFactory.GetClient((AdapterEnums.PlatformType)request.Platform); + var client = opPlatformClientFactory.GetClient(request.Platform); client.EditPrice(new OP_EditPriceRequest() { AppKey = request.AppKey, @@ -283,25 +284,33 @@ namespace BBWYB.Server.Business var order = orderListResponse.Items.FirstOrDefault(); var orderCost = fsql.Select(request.OrderId).ToOne(); - //orderCost.Profit = dbOrder.OrderTotalPrice - - // orderCost.PurchaseAmount - - // orderCost.DeliveryExpressFreight; // -orderCost.PlatformCommissionAmount - IList> updates_orderSku = new List>(); + IUpdate updateOrderCost = null; foreach (var orderSku in order.OrderSkuList) { - updates_orderSku.Add(fsql.Update(orderSku.Id).Set(osku => osku.Price, orderSku.SkuPrice)); + updates_orderSku.Add(fsql.Update(orderSku.Id).Set(osku => osku.Price, orderSku.SkuPrice) + .Set(osku => osku.BuyerPayFreight, orderSku.FreightAmount) + .Set(osku => osku.InPackAmount, orderSku.PackAmount)); + } + + if (orderCost != null) + { + orderCost.CalculationOrderCostCostAndProfit(order.OrderTotalAmount, + orderCost.SkuAmount ?? 0M, + orderCost.PurchaseFreight ?? 0M, + orderCost.OutPackAmount ?? 0M, + orderCost.DeliveryExpressFreight ?? 0M); + updateOrderCost = fsql.Update().SetSource(orderCost); } + fsql.Transaction(() => { fsql.Update(request.OrderId).Set(o => o.OrderTotalPrice, order.OrderTotalAmount) .Set(o => o.OrderSellerPrice, order.OrderProductAmount) .Set(o => o.FreightPrice, order.FreightAmount) .ExecuteAffrows(); - if (orderCost != null) - fsql.Update(request.OrderId).Set(oc => oc.Profit, order.OrderTotalAmount - orderCost.PurchaseAmount - orderCost.DeliveryExpressFreight) - .ExecuteAffrows(); + updateOrderCost?.ExecuteAffrows(); if (updates_orderSku.Count() > 0) { @@ -333,8 +342,8 @@ namespace BBWYB.Server.Business } public void QiKuPublishPackAmount(QiKuPublishPackAmountRequest request) - { - + { + } } } diff --git a/BBWYB.Server.Model/Dto/Request/Order/QueryOrderRequest.cs b/BBWYB.Server.Model/Dto/Request/Order/QueryOrderRequest.cs index f1c73ff..1b46bb0 100644 --- a/BBWYB.Server.Model/Dto/Request/Order/QueryOrderRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/Order/QueryOrderRequest.cs @@ -63,6 +63,11 @@ /// public string SourceSku { get; set; } - + /// + /// 是否为待配置 (复合条件) + /// 条件1: 已采购 + 未取消 + /// + public bool IsWaitConfig { get; set; } + } } diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs index 536b09c..8d57de2 100644 --- a/BBWYB.Server.Model/Enums.cs +++ b/BBWYB.Server.Model/Enums.cs @@ -85,8 +85,8 @@ 已取消 = 6, 暂停 = 7, 已退款 = 8, - Unknow = 100, - 待配置 = 101, + Unknow = 100 + //待配置 = 101, } ///