diff --git a/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs b/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs index 96cf0300..10ff3bef 100644 --- a/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs +++ b/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs @@ -43,6 +43,8 @@ namespace Jd.Api.Request public List multiCateProps { get; set; } public int? promiseId { get; set; } + + public string saleAttrTemplateId { get; set; } } public class SkuWriteUpdateSkusItemSaleAttrs @@ -57,5 +59,7 @@ namespace Jd.Api.Request public List attrValueAlias { get; set; } public int index { get; set; } + + public List attrValuesSeqNo { get; set; } } } diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index 7593f9eb..983a350a 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -999,7 +999,7 @@ namespace BBWY.Server.Business for (var i = 0; i < request.GiftTemplateSkuList.Count(); i++) { var giftSku = request.GiftTemplateSkuList[i]; - var colorProperty = colorSaleAttrs[takeColorIndex]; + var colorPropertyValue = colorSaleAttrs[takeColorIndex]; var p = new SkuWriteUpdateSkusItem() { @@ -1012,14 +1012,26 @@ namespace BBWY.Server.Business outerId = $"{request.OuterId}{(i + 1).ToString().PadLeft(3, '0')}", saleAttrs = new List() { - new SkuWriteUpdateSkusItemSaleAttrs() + //new SkuWriteUpdateSkusItemSaleAttrs() + //{ + // type = "com.jd.pop.ware.ic.api.domain.Prop", + // attrId = colorProperty.Value("attId"), + // attrValues = new List() { colorProperty.Value("id") }, + // index = takeColorIndex, + // attrValuesSeqNo = new List(){ takeColorIndex } + //} + + new SkuWriteUpdateSkusItemSaleAttrs() { type = "com.jd.pop.ware.ic.api.domain.Prop", - attrId = colorProperty.Value("attId"), - attrValues = new List() { colorProperty.Value("id") }, - index = takeColorIndex + attrId = colorPropertyValue.Value("attId"), + //attrValues = new List() { colorPropertyValue.Value("id") }, + attrValueAlias = new List(){ giftSku.Title }, // colorPropertyValue.Value("name") + index = takeColorIndex, + attrValuesSeqNo = new List(){ takeColorIndex } } - } + }, + saleAttrTemplateId = "POP_MODEL" //promiseId = 30603710 //固定时效模板Id 48小时发货 }; @@ -1036,26 +1048,26 @@ namespace BBWY.Server.Business } } - //修改标题参数 - updateSkuTitleParamList.Add(new WareWriteUpdateWareSaleAttrvalueAliasRequestItem() - { - attrId = p.saleAttrs[0].attrId, - attrValues = p.saleAttrs[0].attrValues, - attrValueAlias = new List() { giftSku.Title } - }); - - //修改商品细节图参数 - var imgUrlBuilder = new StringBuilder(); - var imgIndexBuilder = new StringBuilder(); - imgUrlBuilder.Append($"{giftSku.Logo.Substring(giftSku.Logo.IndexOf("jfs"))},"); - imgIndexBuilder.Append("1,"); - imageWriteUpdateRequestList.Add(new ImageWriteUpdateRequest() - { - wareId = wareId, - colorId = colorProperty.Value("id"), - imgUrl = imgUrlBuilder.ToString().Trim(','), - imgIndex = imgIndexBuilder.ToString().Trim(',') - }); + ////修改标题参数 + //updateSkuTitleParamList.Add(new WareWriteUpdateWareSaleAttrvalueAliasRequestItem() + //{ + // attrId = p.saleAttrs[0].attrId, + // attrValues = p.saleAttrs[0].attrValues, + // attrValueAlias = new List() { giftSku.Title } + //}); + + ////修改商品细节图参数 + //var imgUrlBuilder = new StringBuilder(); + //var imgIndexBuilder = new StringBuilder(); + //imgUrlBuilder.Append($"{giftSku.Logo.Substring(giftSku.Logo.IndexOf("jfs"))},"); + //imgIndexBuilder.Append("1,"); + //imageWriteUpdateRequestList.Add(new ImageWriteUpdateRequest() + //{ + // wareId = wareId, + // colorId = colorProperty.Value("id"), + // imgUrl = imgUrlBuilder.ToString().Trim(','), + // imgIndex = imgIndexBuilder.ToString().Trim(',') + //}); takeColorIndex--; 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("skuId")).ToList(); - giftSkuIdList.AddRange(newSkuList); - } - #endregion + var newSkuIdList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList().Select(x => x.Value("skuId")).ToList(); + giftSkuIdList.AddRange(newSkuIdList); - #region sku改名 - { - stepText = "sku改名"; - var req = new WareWriteUpdateWareSaleAttrvalueAliasRequest() + + var newSkuList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList(); + var imgIndex = 1; + 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, - 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)}"); + colorId = colorBuilder.ToString().TrimEnd(','), + imgUrl = imgUrlBuilder.ToString().TrimEnd(','), + imgIndex = imgIndexBuilder.ToString().TrimEnd(',') + }); } #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修改细节图 stepText = "sku修改细节图"; foreach (var imageWriteUpdateRequest in imageWriteUpdateRequestList)