Browse Source

更新上架逻辑

AddValidOverTime
彭聪 2 years ago
parent
commit
8ae8398e13
  1. 4
      BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs
  2. 122
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs

4
BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs

@ -43,6 +43,8 @@ namespace Jd.Api.Request
public List<SkuWriteUpdateSkusItemSaleAttrs> multiCateProps { get; set; } public List<SkuWriteUpdateSkusItemSaleAttrs> multiCateProps { get; set; }
public int? promiseId { get; set; } public int? promiseId { get; set; }
public string saleAttrTemplateId { get; set; }
} }
public class SkuWriteUpdateSkusItemSaleAttrs public class SkuWriteUpdateSkusItemSaleAttrs
@ -57,5 +59,7 @@ namespace Jd.Api.Request
public List<string> attrValueAlias { get; set; } public List<string> attrValueAlias { get; set; }
public int index { get; set; } public int index { get; set; }
public List<int?> attrValuesSeqNo { get; set; }
} }
} }

122
BBWY.Server.Business/PlatformSDK/JDBusiness.cs

@ -999,7 +999,7 @@ namespace BBWY.Server.Business
for (var i = 0; i < request.GiftTemplateSkuList.Count(); i++) for (var i = 0; i < request.GiftTemplateSkuList.Count(); i++)
{ {
var giftSku = request.GiftTemplateSkuList[i]; var giftSku = request.GiftTemplateSkuList[i];
var colorProperty = colorSaleAttrs[takeColorIndex]; var colorPropertyValue = colorSaleAttrs[takeColorIndex];
var p = new SkuWriteUpdateSkusItem() var p = new SkuWriteUpdateSkusItem()
{ {
@ -1012,14 +1012,26 @@ namespace BBWY.Server.Business
outerId = $"{request.OuterId}{(i + 1).ToString().PadLeft(3, '0')}", outerId = $"{request.OuterId}{(i + 1).ToString().PadLeft(3, '0')}",
saleAttrs = new List<SkuWriteUpdateSkusItemSaleAttrs>() saleAttrs = new List<SkuWriteUpdateSkusItemSaleAttrs>()
{ {
new SkuWriteUpdateSkusItemSaleAttrs() //new SkuWriteUpdateSkusItemSaleAttrs()
//{
// type = "com.jd.pop.ware.ic.api.domain.Prop",
// attrId = colorProperty.Value<string>("attId"),
// attrValues = new List<string>() { colorProperty.Value<string>("id") },
// index = takeColorIndex,
// attrValuesSeqNo = new List<int?>(){ takeColorIndex }
//}
new SkuWriteUpdateSkusItemSaleAttrs()
{ {
type = "com.jd.pop.ware.ic.api.domain.Prop", type = "com.jd.pop.ware.ic.api.domain.Prop",
attrId = colorProperty.Value<string>("attId"), attrId = colorPropertyValue.Value<string>("attId"),
attrValues = new List<string>() { colorProperty.Value<string>("id") }, //attrValues = new List<string>() { colorPropertyValue.Value<string>("id") },
index = takeColorIndex attrValueAlias = new List<string>(){ giftSku.Title }, // colorPropertyValue.Value<string>("name")
index = takeColorIndex,
attrValuesSeqNo = new List<int?>(){ takeColorIndex }
} }
} },
saleAttrTemplateId = "POP_MODEL"
//promiseId = 30603710 //固定时效模板Id 48小时发货 //promiseId = 30603710 //固定时效模板Id 48小时发货
}; };
@ -1036,26 +1048,26 @@ namespace BBWY.Server.Business
} }
} }
//修改标题参数 ////修改标题参数
updateSkuTitleParamList.Add(new WareWriteUpdateWareSaleAttrvalueAliasRequestItem() //updateSkuTitleParamList.Add(new WareWriteUpdateWareSaleAttrvalueAliasRequestItem()
{ //{
attrId = p.saleAttrs[0].attrId, // attrId = p.saleAttrs[0].attrId,
attrValues = p.saleAttrs[0].attrValues, // attrValues = p.saleAttrs[0].attrValues,
attrValueAlias = new List<string>() { giftSku.Title } // attrValueAlias = new List<string>() { giftSku.Title }
}); //});
//修改商品细节图参数 ////修改商品细节图参数
var imgUrlBuilder = new StringBuilder(); //var imgUrlBuilder = new StringBuilder();
var imgIndexBuilder = new StringBuilder(); //var imgIndexBuilder = new StringBuilder();
imgUrlBuilder.Append($"{giftSku.Logo.Substring(giftSku.Logo.IndexOf("jfs"))},"); //imgUrlBuilder.Append($"{giftSku.Logo.Substring(giftSku.Logo.IndexOf("jfs"))},");
imgIndexBuilder.Append("1,"); //imgIndexBuilder.Append("1,");
imageWriteUpdateRequestList.Add(new ImageWriteUpdateRequest() //imageWriteUpdateRequestList.Add(new ImageWriteUpdateRequest()
{ //{
wareId = wareId, // wareId = wareId,
colorId = colorProperty.Value<string>("id"), // colorId = colorProperty.Value<string>("id"),
imgUrl = imgUrlBuilder.ToString().Trim(','), // imgUrl = imgUrlBuilder.ToString().Trim(','),
imgIndex = imgIndexBuilder.ToString().Trim(',') // imgIndex = imgIndexBuilder.ToString().Trim(',')
}); //});
takeColorIndex--; takeColorIndex--;
skusParamList.Add(p); skusParamList.Add(p);
@ -1126,27 +1138,55 @@ namespace BBWY.Server.Business
} }
} }
var newSkuList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList().Select(x => x.Value<string>("skuId")).ToList(); var newSkuIdList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList().Select(x => x.Value<string>("skuId")).ToList();
giftSkuIdList.AddRange(newSkuList); giftSkuIdList.AddRange(newSkuIdList);
}
#endregion
#region sku改名
{ var newSkuList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList();
stepText = "sku改名"; var imgIndex = 1;
var req = new WareWriteUpdateWareSaleAttrvalueAliasRequest() StringBuilder colorBuilder = new StringBuilder();
StringBuilder imgUrlBuilder = new StringBuilder();
StringBuilder imgIndexBuilder = new StringBuilder();
foreach (var skuJToken in newSkuList)
{
var skuTitle = skuJToken["saleAttrs"][0]["attrValueAlias"][0].ToString();
var colorId = skuJToken["saleAttrs"][0]["attrValues"][0].ToString();
var currentImgIndex = imgIndex;
imgIndex++;
var giftSku = request.GiftTemplateSkuList.FirstOrDefault(x => x.Title == skuTitle);
var imgUrl = giftSku.Logo.Substring(giftSku.Logo.IndexOf("jfs"));
colorBuilder.Append($"{colorId},");
imgUrlBuilder.Append($"{imgUrl},");
imgIndexBuilder.Append($"{currentImgIndex},");
}
imageWriteUpdateRequestList.Add(new ImageWriteUpdateRequest()
{ {
wareId = wareId, wareId = wareId,
props = updateSkuTitleParamList colorId = colorBuilder.ToString().TrimEnd(','),
}; imgUrl = imgUrlBuilder.ToString().TrimEnd(','),
var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); imgIndex = imgIndexBuilder.ToString().TrimEnd(',')
if (res.Json == null) });
res.Json = JObject.Parse(res.Body);
if (res.IsError)
throw new BusinessException($"sku改名失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
} }
#endregion #endregion
//#region sku改名
//{
// stepText = "sku改名";
// var req = new WareWriteUpdateWareSaleAttrvalueAliasRequest()
// {
// wareId = wareId,
// props = updateSkuTitleParamList
// };
// var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
// if (res.Json == null)
// res.Json = JObject.Parse(res.Body);
// if (res.IsError)
// throw new BusinessException($"sku改名失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
//}
//#endregion
#region sku修改细节图 #region sku修改细节图
stepText = "sku修改细节图"; stepText = "sku修改细节图";
foreach (var imageWriteUpdateRequest in imageWriteUpdateRequestList) foreach (var imageWriteUpdateRequest in imageWriteUpdateRequestList)

Loading…
Cancel
Save