You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.6 KiB
44 lines
2.6 KiB
using BBWYB.Server.Model;
|
|
using BBWYB.Server.Model.Db;
|
|
using BBWYB.Server.Model.Dto;
|
|
|
|
namespace BBWYB.Server.Business.Extensions
|
|
{
|
|
public static class PurchaseExpressOrderExtension
|
|
{
|
|
/// <summary>
|
|
/// 计算快递单归属
|
|
/// </summary>
|
|
/// <param name="purchaseExpressOrder">必须是经过与快递单关系表进行联合查询的结果 (ExpressOrderRelationInfo-PurchaseExpressOrder)</param>
|
|
/// <param name="intoStoreType"></param>
|
|
/// <param name="orderPurchaseInfoList"></param>
|
|
/// <param name="orderPurchaseRelationInfoList"></param>
|
|
/// <param name="orderPurchaseSkuInfoList"></param>
|
|
public static void CalculationBelongOrderSku(this PurchaseExpressOrderResponse purchaseExpressOrder,
|
|
Enums.IntoStoreType? intoStoreType,
|
|
IList<OrderPurchaseInfoResponse> orderPurchaseInfoList,
|
|
IList<OrderPurchaseRelationInfo> orderPurchaseRelationInfoList,
|
|
IList<OrderPurchaseSkuInfoResponse> orderPurchaseSkuInfoList)
|
|
{
|
|
var purchaseOrder = orderPurchaseInfoList.FirstOrDefault(po => po.PurchaseOrderId == purchaseExpressOrder.PurchaseOrderId);
|
|
if (purchaseOrder == null)
|
|
return;
|
|
if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴 && intoStoreType != Enums.IntoStoreType.厂商代发入仓)
|
|
{
|
|
var purchaseSkuIds = orderPurchaseSkuInfoList.Where(posku => posku.WaybillNo == purchaseExpressOrder.WaybillNo &&
|
|
posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId)
|
|
.Select(posku => posku.PurchaseSkuId).ToList();
|
|
var orderSkuIds = orderPurchaseRelationInfoList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId &&
|
|
purchaseSkuIds.Contains(ori.PurchaseSkuId))
|
|
.Select(ori => ori.BelongSkuId)
|
|
.Distinct()
|
|
.ToList();
|
|
purchaseExpressOrder.BelongSkuIds = string.Join(",", orderSkuIds);
|
|
}
|
|
else
|
|
{
|
|
purchaseExpressOrder.BelongSkuIds = purchaseOrder.BelongSkuIds;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|