|
|
@ -532,17 +532,27 @@ namespace BBWY.Server.Business |
|
|
|
var orderTokenList = orderTokenJArray.Where(o => o.Value<decimal>("orderTotalPrice") != 0); |
|
|
|
|
|
|
|
var interfaceOrderIdList = orderTokenList.Select(orderJToken => orderJToken.Value<string>("orderId")); |
|
|
|
var interfaceCanceledOrderIdList = orderTokenList.Where(orderJToken => orderJToken.Value<string>("orderState").Equals("TRADE_CANCELED")) |
|
|
|
.Select(orderJToken => orderJToken.Value<string>("orderId")); //接口查询结果中取消状态的订单Id
|
|
|
|
|
|
|
|
var dbOrderList = fsql.Select<Order>().Where(o => interfaceOrderIdList.Contains(o.Id)).ToList(o => new Order() |
|
|
|
{ |
|
|
|
Id = o.Id, |
|
|
|
OrderState = o.OrderState, |
|
|
|
StorageType = o.StorageType |
|
|
|
}); //数据库订单
|
|
|
|
|
|
|
|
var dbOrderConsigneeList = fsql.Select<OrderConsignee>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单收货信息
|
|
|
|
var dbOrderCostList = fsql.Select<OrderCost>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单成本信息
|
|
|
|
var dbOrderCouponList = fsql.Select<OrderCoupon>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单优惠信息
|
|
|
|
|
|
|
|
List<OrderCostDetail> dbOrderCostDetailList = null; //数据库成本明细
|
|
|
|
if (interfaceCanceledOrderIdList.Count() > 0 && |
|
|
|
dbOrderList.Any(dbOrder => interfaceCanceledOrderIdList.Contains(dbOrder.Id) && dbOrder.OrderState != Enums.OrderState.已取消)) |
|
|
|
{ |
|
|
|
dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => interfaceCanceledOrderIdList.Contains(ocd.OrderId)).ToList(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var orderSkuIds = new List<string>(); |
|
|
|
foreach (var orderJToken in orderTokenList) |
|
|
|
{ |
|
|
@ -741,6 +751,22 @@ namespace BBWY.Server.Business |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 取消订单恢复库存
|
|
|
|
if (orderState == Enums.OrderState.已取消 && !isNewOrder && dbOrder.OrderState != Enums.OrderState.已取消) |
|
|
|
{ |
|
|
|
var currentOrderCostDetailList = dbOrderCostDetailList.Where(ocd => ocd.OrderId == orderId); |
|
|
|
if (currentOrderCostDetailList.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var orderCostDetail in currentOrderCostDetailList) |
|
|
|
{ |
|
|
|
var updateSql = fsql.Update<PurchaseOrder>(orderCostDetail.PurchaseOrderPKId) |
|
|
|
.Set(po => po.RemainingQuantity + orderCostDetail.DeductionQuantity); |
|
|
|
updatePurchaseOrderList.Add(updateSql); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 扣减库存, 计算成本
|
|
|
|
if (dbOrder.StorageType != null && |
|
|
|
dbOrder.StorageType != Enums.StorageType.SD && |
|
|
|