diff --git a/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs b/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs index 760b827..0ab18a8 100644 --- a/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs +++ b/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs @@ -79,5 +79,17 @@ namespace BBWYB.Server.API.Controllers { return purchaseSchemeBusiness.GetPurchaseSkuBasicInfo(request); } + + /// + /// 批量查询采购方案中采购Sku的基本信息 + /// + /// + /// + [HttpPost] + public IList BatchGetPurchaseSkuBasicInfo([FromBody] BatchPurchaseSkuBasicInfoRequest request) + { + return purchaseSchemeBusiness.BatchGetPurchaseSkuBasicInfo(request); + } + } } diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs index a4616f7..d12e184 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs @@ -126,7 +126,9 @@ namespace BBWYB.Server.Business Name = purchaserName, Platform = request.Platform }, - ItemList = list + ItemList = list, + PurchasePlatform = request.Platform, + PurchaseProductId = request.PurchaseProductId }; } } @@ -243,7 +245,9 @@ namespace BBWYB.Server.Business return new PurchaseSkuBasicInfoResponse() { ItemList = list, - Purchaser = purchaser + Purchaser = purchaser, + PurchaseProductId = request.PurchaseProductId, + PurchasePlatform = Enums.Platform.阿里巴巴 }; } catch diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index f7e793f..9379287 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -258,5 +258,40 @@ namespace BBWYB.Server.Business { return purchaseProductAPIService.GetProductInfo(request); } + + public IList BatchGetPurchaseSkuBasicInfo(BatchPurchaseSkuBasicInfoRequest request) + { + var list = new List(); + foreach (var param in request.Params) + { + foreach (var purchaseId in param.PurchaseProductIds) + { + var response = GetPurchaseSkuBasicInfo(new PurchaseSkuBasicInfoRequest() + { + FirstApiMode = request.FirstApiMode, + PriceMode = request.PriceMode, + Platform = param.Platform, + PurchaseProductId = purchaseId + }); + if (response != null) + { + if (param.PurchaseSkuIds != null && param.PurchaseSkuIds.Count() > 0) + { + for (var i = 0; i < response.ItemList.Count(); i++) + { + var skuInfo = response.ItemList[i]; + if (!param.PurchaseSkuIds.Any(s => s == skuInfo.PurchaseSkuId)) + { + response.ItemList.RemoveAt(i); + i--; + } + } + } + list.Add(response); + } + } + } + return list; + } } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/PurcasheSkuBasicInfoRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/PurcasheSkuBasicInfoRequest.cs index 2853415..f553594 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/PurcasheSkuBasicInfoRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/PurcasheSkuBasicInfoRequest.cs @@ -13,4 +13,28 @@ public Enums.PurchaseProductAPIMode FirstApiMode { get; set; } } + + public class BatchPurchaseSkuBasicInfoRequest + { + public IList Params { get; set; } + + public Enums.PurchaseOrderMode PriceMode { get; set; } + + public Enums.PurchaseProductAPIMode FirstApiMode { get; set; } + } + + public class BatchPurchaseSkuBasicInfoParamRequest + { + public Enums.Platform Platform { get; set; } + + /// + /// 采购商品Id(采购spu) + /// + public string[] PurchaseProductIds { get; set; } + + /// + /// 需要保留的采购SkuId,如果传递了该数组,将过滤不在该数组的采购sku + /// + public string[] PurchaseSkuIds { get; set; } + } } diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs index 86a7100..336d112 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs @@ -7,6 +7,10 @@ namespace BBWYB.Server.Model.Dto /// public class PurchaseSkuBasicInfoResponse { + public Enums.Platform PurchasePlatform { get; set; } + + public string PurchaseProductId { get; set; } + /// /// 采购SKU基础信息列表 ///