|
|
@ -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<OrderCost>(request.OrderId).ToOne(); |
|
|
|
|
|
|
|
//orderCost.Profit = dbOrder.OrderTotalPrice -
|
|
|
|
// orderCost.PurchaseAmount -
|
|
|
|
// orderCost.DeliveryExpressFreight; // -orderCost.PlatformCommissionAmount
|
|
|
|
|
|
|
|
IList<IUpdate<OrderSku>> updates_orderSku = new List<IUpdate<OrderSku>>(); |
|
|
|
IUpdate<OrderCost> updateOrderCost = null; |
|
|
|
foreach (var orderSku in order.OrderSkuList) |
|
|
|
{ |
|
|
|
updates_orderSku.Add(fsql.Update<OrderSku>(orderSku.Id).Set(osku => osku.Price, orderSku.SkuPrice)); |
|
|
|
updates_orderSku.Add(fsql.Update<OrderSku>(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<OrderCost>().SetSource(orderCost); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
fsql.Update<Order>(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<OrderCost>(request.OrderId).Set(oc => oc.Profit, order.OrderTotalAmount - orderCost.PurchaseAmount - orderCost.DeliveryExpressFreight) |
|
|
|
.ExecuteAffrows(); |
|
|
|
updateOrderCost?.ExecuteAffrows(); |
|
|
|
|
|
|
|
if (updates_orderSku.Count() > 0) |
|
|
|
{ |
|
|
|