|
|
@ -13,17 +13,48 @@ namespace BBWY.Test |
|
|
|
{ |
|
|
|
public class JDProductAPITest |
|
|
|
{ |
|
|
|
public void GetSkus(IJdClient client, string token, string spu) |
|
|
|
public void GetSkus(IJdClient client, string token) |
|
|
|
{ |
|
|
|
var req_skuList = new SkuReadSearchSkuListRequest() |
|
|
|
{ |
|
|
|
pageSize = 50,//50
|
|
|
|
field = "logo,saleAttrs,status,created,barCode,categoryId,multiCateProps" |
|
|
|
}; |
|
|
|
string sku = "10066603568725,10066603568724,10066603568728,10066603568727,10066603568726,10066603568722,10066603568729,10066603568723"; |
|
|
|
var skuList = new List<ProductSkuResponse>(); |
|
|
|
IList<string> skuIdList = null; |
|
|
|
var pageIndex = 1; |
|
|
|
var pageSize = 20; |
|
|
|
var totalPageSize = 1; |
|
|
|
skuIdList = sku.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); |
|
|
|
totalPageSize = (skuIdList.Count() - 1) / 20 + 1; |
|
|
|
|
|
|
|
req_skuList.wareId = spu; |
|
|
|
var response = client.Execute(req_skuList, token, DateTime.Now.ToLocalTime()); |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(response)); |
|
|
|
while (true) |
|
|
|
{ |
|
|
|
req_skuList.skuId = string.Join(",", skuIdList.Skip((pageIndex - 1) * pageSize).Take(pageSize)); |
|
|
|
|
|
|
|
var rep_skuList = client.Execute(req_skuList, token, DateTime.Now.ToLocalTime()); |
|
|
|
|
|
|
|
var currentList = ((JArray)rep_skuList.Json["jingdong_sku_read_searchSkuList_responce"]["page"]["data"]).Select(s => new ProductSkuResponse() |
|
|
|
{ |
|
|
|
Id = s.Value<string>("skuId"), |
|
|
|
ProductId = s.Value<string>("wareId"), |
|
|
|
Price = s.Value<decimal>("jdPrice"), |
|
|
|
Title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty, |
|
|
|
Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value<string>("logo")}", |
|
|
|
State = s.Value<int>("status"), |
|
|
|
CreateTime = s.Value<long>("created").StampToDateTime(), |
|
|
|
Source = s |
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
if (currentList != null && currentList.Count() > 0) |
|
|
|
skuList.AddRange(currentList); |
|
|
|
|
|
|
|
if (pageIndex >= totalPageSize) |
|
|
|
break; |
|
|
|
pageIndex++; |
|
|
|
} |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(skuList)); |
|
|
|
} |
|
|
|
|
|
|
|
public void GetSpu(IJdClient client, string token, string spu) |
|
|
|