|
|
@ -58,7 +58,7 @@ namespace BBWY.Test |
|
|
|
|
|
|
|
var barCode = ""; |
|
|
|
var categoryId = ""; |
|
|
|
IList<JToken> saleAttrs = null; |
|
|
|
|
|
|
|
IList<JToken> multiCateProps = null; |
|
|
|
|
|
|
|
var selectGiftSkuList = new List<ProductSkuResponse>(); |
|
|
@ -88,7 +88,7 @@ namespace BBWY.Test |
|
|
|
|
|
|
|
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
|
|
|
@ -125,50 +125,71 @@ namespace BBWY.Test |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 获取销售属性
|
|
|
|
|
|
|
|
IList<JToken> colorSaleAttrs = null; |
|
|
|
{ |
|
|
|
var req = new CategoryReadFindAttrsByCategoryIdUnlimitCateRequest(); |
|
|
|
req.cid = long.Parse(categoryId); |
|
|
|
req.attributeType = 4; |
|
|
|
req.field = "attrValueList,attrGroup"; |
|
|
|
var response = client.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
Console.WriteLine("销售属性"); |
|
|
|
if (response.Json == null) |
|
|
|
response.Json = JObject.Parse(response.Body); |
|
|
|
var colorProperty = response.Json["jingdong_category_read_findAttrsByCategoryIdUnlimitCate_responce"]["findattrsbycategoryidunlimitcate_result"].FirstOrDefault(j => j.Value<long>("id") == 1000007121); |
|
|
|
if (colorProperty == null) |
|
|
|
throw new Exception("缺少颜色属性"); |
|
|
|
colorSaleAttrs = colorProperty["attrValueList"].ToList(); |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 增量保存sku
|
|
|
|
{ |
|
|
|
var skusParamList = new List<SkuWriteUpdateSkusItem>(); |
|
|
|
foreach (var sku in selectGiftSkuList) |
|
|
|
var takeColorIndex = colorSaleAttrs.Count() - 1; |
|
|
|
for (var i = 0; i < 2; i++) |
|
|
|
{ |
|
|
|
var giftSku = selectGiftSkuList[i]; |
|
|
|
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, |
|
|
|
//skuId = long.Parse(sku.Id),
|
|
|
|
jdPrice = giftSku.Price, |
|
|
|
stockNum = 500, |
|
|
|
barCode = barCode, |
|
|
|
//multiCateProps = multiCateProps.Select(mp => new SkuWriteUpdateSkusItemSaleAttrs()
|
|
|
|
//{
|
|
|
|
// attrId = mp.Value<string>("attrId"),
|
|
|
|
// attrValues = mp.Value<JArray>("attrValues").Select(x => x.ToString()).ToList()
|
|
|
|
//}).ToList()
|
|
|
|
}; |
|
|
|
|
|
|
|
var colorProperty = colorSaleAttrs[takeColorIndex]; |
|
|
|
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(); |
|
|
|
m.attrId = colorProperty.Value<string>("attId"); |
|
|
|
m.attrValues = new List<string>() { colorProperty.Value<string>("id") }; |
|
|
|
m.attrValueAlias = new List<string>() { colorProperty.Value<string>("name") }; |
|
|
|
m.index = takeColorIndex; |
|
|
|
p.saleAttrs.Add(m); |
|
|
|
} |
|
|
|
takeColorIndex--; |
|
|
|
|
|
|
|
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); |
|
|
|
} |
|
|
|
} |
|
|
|
//foreach (var saleAttr in colorSaleAttrs)
|
|
|
|
//{
|
|
|
|
// 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); |
|
|
|
} |
|
|
|
|
|
|
|