|
|
@ -1,8 +1,11 @@ |
|
|
|
using Jd.Api; |
|
|
|
using BBWY.Server.Model.Dto; |
|
|
|
using Jd.Api; |
|
|
|
using Jd.Api.Request; |
|
|
|
using Newtonsoft.Json; |
|
|
|
using Newtonsoft.Json.Linq; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Text; |
|
|
|
|
|
|
|
namespace BBWY.Test |
|
|
@ -21,5 +24,167 @@ namespace BBWY.Test |
|
|
|
var response = client.Execute(req_skuList, token, DateTime.Now.ToLocalTime()); |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(response)); |
|
|
|
} |
|
|
|
|
|
|
|
public void QueryTouTu(IJdClient client, string token, string spu) |
|
|
|
{ |
|
|
|
var req = new TransparentImageReadFindByWareIdAndColorIdRequest(); |
|
|
|
|
|
|
|
req.wareId = long.Parse(spu); |
|
|
|
req.colorId = "0000000000"; |
|
|
|
|
|
|
|
var response = client.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(response)); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 查询SKU细节图
|
|
|
|
/// </summary>
|
|
|
|
public void FindImageByColor(IJdClient client, string token, string spu) |
|
|
|
{ |
|
|
|
var req = new ImageReadFindImagesByColorRequest(); |
|
|
|
|
|
|
|
req.wareId = long.Parse(spu); |
|
|
|
req.colorId = "0000000000"; |
|
|
|
|
|
|
|
var response = client.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
|
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(response)); |
|
|
|
} |
|
|
|
|
|
|
|
public void ShangJiaTest(IJdClient client, string token) |
|
|
|
{ |
|
|
|
var mainSpu = "10022515718131"; |
|
|
|
var giftSpu = "10023500913672"; |
|
|
|
|
|
|
|
var barCode = ""; |
|
|
|
var categoryId = ""; |
|
|
|
IList<JToken> saleAttrs = null; |
|
|
|
IList<JToken> multiCateProps = null; |
|
|
|
|
|
|
|
var selectGiftSkuList = new List<ProductSkuResponse>(); |
|
|
|
|
|
|
|
#region 取主商品信息
|
|
|
|
{ |
|
|
|
var req = new SkuReadSearchSkuListRequest() |
|
|
|
{ |
|
|
|
pageSize = 50,//50
|
|
|
|
field = "logo,saleAttrs,status,created,barCode,categoryId,multiCateProps" |
|
|
|
}; |
|
|
|
|
|
|
|
req.wareId = mainSpu; |
|
|
|
var res = client.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
|
|
|
|
var skuList = ((JArray)res.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(); |
|
|
|
|
|
|
|
barCode = skuList[0].Source.Value<string>("barCode"); |
|
|
|
categoryId = skuList[0].Source.Value<string>("categoryId"); |
|
|
|
saleAttrs = skuList[0].Source["saleAttrs"] != null ? skuList[0].Source["saleAttrs"].ToList() : null; |
|
|
|
multiCateProps = skuList[0].Source["multiCateProps"] != null ? skuList[0].Source["multiCateProps"].ToList() : null; |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 取赠品信息
|
|
|
|
{ |
|
|
|
var giftTitleList = new List<string>() { "粉丝价", "放心购", "闪电退款", "免费", "价格保护", "极速审核", "质量保护", "运费险" }; |
|
|
|
var req = new SkuReadSearchSkuListRequest() |
|
|
|
{ |
|
|
|
pageSize = 50,//50
|
|
|
|
field = "logo,saleAttrs,status,created,barCode,categoryId,multiCateProps" |
|
|
|
}; |
|
|
|
req.wareId = giftSpu; |
|
|
|
var res = client.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
|
|
|
|
var skuList = ((JArray)res.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(); |
|
|
|
|
|
|
|
foreach (var sku in skuList) |
|
|
|
{ |
|
|
|
if (!giftTitleList.Contains(sku.Title)) |
|
|
|
continue; |
|
|
|
selectGiftSkuList.Add(sku); |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 增量保存sku
|
|
|
|
{ |
|
|
|
var skusParamList = new List<SkuWriteUpdateSkusItem>(); |
|
|
|
foreach (var sku in selectGiftSkuList) |
|
|
|
{ |
|
|
|
var p = new SkuWriteUpdateSkusItem() |
|
|
|
{ |
|
|
|
wareId = long.Parse(mainSpu), |
|
|
|
skuId = long.Parse(sku.Id), |
|
|
|
//saleAttrs = sku.Source["saleAttrs"].Select(s => new SkuWriteUpdateSkusItemSaleAttrs()
|
|
|
|
//{
|
|
|
|
// attrId = s.Value<string>("attrId"),
|
|
|
|
// attrValues = s.Value<JArray>("attrValues").Select(x => x.ToString()).ToList()
|
|
|
|
//}).ToList(),
|
|
|
|
jdPrice = sku.Price, |
|
|
|
stockNum = 5000, |
|
|
|
barCode = barCode, |
|
|
|
//multiCateProps = multiCateProps.Select(mp => new SkuWriteUpdateSkusItemSaleAttrs()
|
|
|
|
//{
|
|
|
|
// attrId = mp.Value<string>("attrId"),
|
|
|
|
// attrValues = mp.Value<JArray>("attrValues").Select(x => x.ToString()).ToList()
|
|
|
|
//}).ToList()
|
|
|
|
}; |
|
|
|
|
|
|
|
p.saleAttrs = new List<SkuWriteUpdateSkusItemSaleAttrs>(); |
|
|
|
foreach (var saleAttr in saleAttrs) |
|
|
|
{ |
|
|
|
var m = new SkuWriteUpdateSkusItemSaleAttrs(); |
|
|
|
m.attrId = saleAttr.Value<string>("attrId"); |
|
|
|
m.attrValues = saleAttr.Value<JArray>("attrValues").Select(x => x.ToString()).ToList(); |
|
|
|
p.saleAttrs.Add(m); |
|
|
|
} |
|
|
|
|
|
|
|
p.multiCateProps = new List<SkuWriteUpdateSkusItemSaleAttrs>(); |
|
|
|
if (multiCateProps != null && multiCateProps.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var multiCateProp in multiCateProps) |
|
|
|
{ |
|
|
|
var m = new SkuWriteUpdateSkusItemSaleAttrs(); |
|
|
|
m.attrId = multiCateProp.Value<string>("attrId"); |
|
|
|
m.attrValues = multiCateProp.Value<JArray>("attrValues").Select(x => x.ToString()).ToList(); |
|
|
|
p.multiCateProps.Add(m); |
|
|
|
} |
|
|
|
} |
|
|
|
skusParamList.Add(p); |
|
|
|
} |
|
|
|
|
|
|
|
var req = new SkuWriteUpdateSkusRequest(); |
|
|
|
req.wareId = long.Parse(mainSpu); |
|
|
|
req.skus = skusParamList; |
|
|
|
|
|
|
|
Console.WriteLine("请求参数"); |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(req)); |
|
|
|
var res = client.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
|
|
|
|
Console.WriteLine(); |
|
|
|
Console.WriteLine("返回内容"); |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(res)); |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|