Browse Source

新增 spu查询(包含sku)

yijia
shanji 2 years ago
parent
commit
7d04fba6f3
  1. 11
      BBWYB.Server.API/Controllers/ProductController.cs
  2. 74
      BBWYB.Server.Business/Product/ProductBusiness.cs
  3. 4
      BBWYB.Server.Model/BBWYB.Server.Model.csproj
  4. 8
      BBWYB.Server.Model/Dto/Request/Product/QueryBProductRequest.cs
  5. 16
      BBWYB.Server.Model/Dto/Response/Product/BProductResponse.cs

11
BBWYB.Server.API/Controllers/ProductController.cs

@ -35,6 +35,17 @@ namespace BBWYB.Server.API.Controllers
return productBusiness.GetProductSkuList(request); return productBusiness.GetProductSkuList(request);
} }
/// <summary>
/// spu列表查询(包含sku)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public BProductListResponse GetProductAndSkuList([FromBody]QueryBProductRequest request)
{
return productBusiness.GetProductAndSkuList(request);
}
/// <summary> /// <summary>
/// 查询sku现有售价 /// 查询sku现有售价
/// </summary> /// </summary>

74
BBWYB.Server.Business/Product/ProductBusiness.cs

@ -27,6 +27,80 @@ namespace BBWYB.Server.Business
return opPlatformClientFactory.GetClient(request.Platform).GetProductSkuList(request); return opPlatformClientFactory.GetClient(request.Platform).GetProductSkuList(request);
} }
public BProductListResponse GetProductAndSkuList(QueryBProductRequest request)
{
if (string.IsNullOrEmpty(request.Spu) && !string.IsNullOrEmpty(request.Sku))
{
var skuResponse = GetProductSkuList(new OP_QueryProductSkuRequest()
{
AppSecret = request.AppSecret,
AppKey = request.AppKey,
AppToken = request.AppToken,
PageIndex = 1,
PageSize = 50,
Platform = request.Platform,
Sku = request.Sku,
Spu = request.Spu
});
if (skuResponse.Count > 0)
{
request.Spu = skuResponse.Items.FirstOrDefault().ProductId;
request.PageIndex = 1;
request.PageSize = 50;
}
}
var list = new List<BProductResponse>();
var spuResponse = GetProductList(new OP_QueryProductRequest()
{
AppSecret = request.AppSecret,
AppKey = request.AppKey,
AppToken = request.AppToken,
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Platform = request.Platform,
Spu = request.Spu
});
if (spuResponse.Items.Count() > 0)
{
foreach (var op_product in spuResponse.Items)
{
var bproduct = new BProductResponse()
{
Id = op_product.Id,
BrandName = op_product.BrandName,
CreateTime = op_product.CreateTime,
Logo = op_product.Logo,
ProductItemNum = op_product.ProductItemNum,
State = op_product.State,
Title = op_product.Title
};
list.Add(bproduct);
var skuResponse = GetProductSkuList(new OP_QueryProductSkuRequest
{
AppSecret = request.AppSecret,
AppKey = request.AppKey,
AppToken = request.AppToken,
PageIndex = 1,
PageSize = 50,
Platform = request.Platform,
Spu = op_product.Id
});
if (skuResponse.Count > 0)
{
bproduct.SkuList = skuResponse.Items;
}
}
}
return new BProductListResponse()
{
Count = spuResponse.Count,
Items = list
};
}
public decimal? GetProductSkuPrice(QueryProductSkuPriceRequest request) public decimal? GetProductSkuPrice(QueryProductSkuPriceRequest request)
{ {
var response = GetProductSkuList(new OP_QueryProductSkuRequest() var response = GetProductSkuList(new OP_QueryProductSkuRequest()

4
BBWYB.Server.Model/BBWYB.Server.Model.csproj

@ -16,4 +16,8 @@
<Folder Include="Dto\Request\PurchaseScheme\v2\" /> <Folder Include="Dto\Request\PurchaseScheme\v2\" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SDKAdapter\SDKAdapter.csproj" />
</ItemGroup>
</Project> </Project>

8
BBWYB.Server.Model/Dto/Request/Product/QueryBProductRequest.cs

@ -0,0 +1,8 @@
using SDKAdapter.OperationPlatform.Models;
namespace BBWYB.Server.Model.Dto
{
public class QueryBProductRequest: OP_QueryProductSkuRequest
{
}
}

16
BBWYB.Server.Model/Dto/Response/Product/BProductResponse.cs

@ -0,0 +1,16 @@
using SDKAdapter.OperationPlatform.Models;
namespace BBWYB.Server.Model.Dto
{
public class BProductResponse : OP_ProductResponse
{
public IList<OP_ProductSkuResponse> SkuList { get; set; }
}
public class BProductListResponse
{
public int Count { get; set; }
public IList<BProductResponse> Items { get; set; }
}
}
Loading…
Cancel
Save