Browse Source

Merge branch 'master' of http://code.qiyue666.com/pengcong001/bbwy

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
57365a51ac
  1. 111
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs

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

@ -872,7 +872,8 @@ namespace BBWY.Server.Business
AppSecret = request.AppSecret, AppSecret = request.AppSecret,
AppToken = request.AppToken, AppToken = request.AppToken,
Platform = Enums.Platform., Platform = Enums.Platform.,
IsCheckSkuCount = true IsCheckSkuCount = true,
IsContainSource = true
}; };
IList<ProductSkuResponse> motherTemplateSkuList = null; IList<ProductSkuResponse> motherTemplateSkuList = null;
@ -989,15 +990,35 @@ namespace BBWY.Server.Business
#region 组装上架/改名/设置细节图参数 #region 组装上架/改名/设置细节图参数
stepText = "组装上架/改名/设置细节图参数"; stepText = "组装上架/改名/设置细节图参数";
var takeColorIndex = colorSaleAttrs.Count() - 1; var indexCount = colorSaleAttrs.Count() - 1;
var noUsedIndexList = new List<int>();
try
{
var usedIndexList = new List<int>();
usedIndexList.AddRange(mainProductSkuList.Select(ps => Convert.ToInt32(ps.Source["saleAttrs"][0]["attrValuesSeqNo"][0].ToString())));
for (var i = 0; i <= indexCount; i++)
{
if (usedIndexList.Contains(i))
continue;
noUsedIndexList.Add(i);
}
}
catch (Exception ex)
{
for (var i = 0; i <= indexCount; i++)
{
noUsedIndexList.Add(i);
}
}
var skusParamList = new List<SkuWriteUpdateSkusItem>(); var skusParamList = new List<SkuWriteUpdateSkusItem>();
var updateSkuTitleParamList = new List<WareWriteUpdateWareSaleAttrvalueAliasRequestItem>(); var updateSkuTitleParamList = new List<WareWriteUpdateWareSaleAttrvalueAliasRequestItem>();
var imageWriteUpdateRequestList = new List<ImageWriteUpdateRequest>(); var imageWriteUpdateRequestList = new List<ImageWriteUpdateRequest>();
var skuIndex = noUsedIndexList.Count() - 1;
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 colorPropertyValue = colorSaleAttrs[takeColorIndex]; //var colorPropertyValue = colorSaleAttrs[takeColorIndex];
var p = new SkuWriteUpdateSkusItem() var p = new SkuWriteUpdateSkusItem()
{ {
@ -1009,14 +1030,13 @@ 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", type = "com.jd.pop.ware.ic.api.domain.Prop",
attrId = colorPropertyValue.Value<string>("attId"), attrId = colorSaleAttrs[0].Value<string>("attId"),
attrValueAlias = new List<string>(){ giftSku.Title }, attrValueAlias = new List<string>(){ giftSku.Title },
index = takeColorIndex, index = noUsedIndexList[skuIndex],
attrValuesSeqNo = new List<int?>(){ takeColorIndex } attrValuesSeqNo = new List<int?>(){ noUsedIndexList[skuIndex] }
} }
}, },
saleAttrTemplateId = "POP_MODEL" saleAttrTemplateId = "POP_MODEL"
@ -1034,8 +1054,8 @@ namespace BBWY.Server.Business
p.multiCateProps.Add(m); p.multiCateProps.Add(m);
} }
} }
skuIndex--;
takeColorIndex--; //takeColorIndex--;
skusParamList.Add(p); skusParamList.Add(p);
} }
#endregion #endregion
@ -1105,48 +1125,45 @@ namespace BBWY.Server.Business
} }
} }
//记录上架返回值
nLogManager.Default().Info($"任务Id {request.Id} 店铺Id {request.ShopId} 上架赠品返回值 {res.Body}");
stepText = "获取上架skuId";
var newSkuIdList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList().Select(x => x.Value<string>("skuId")).ToList();
#region 处理上架之后没有skuId的情况
if (newSkuIdList.Any(s => string.IsNullOrEmpty(s)))
{
newSkuIdList.Clear();
Thread.Sleep(30 * 1000); Thread.Sleep(30 * 1000);
var _mainProductSkuList = GetProductSkuList(new SearchProductSkuRequest() stepText = "查询上架的赠品";
giftSkuList = new List<ProductSkuResponse>();
var newMainProductSkuList = GetProductSkuList(new SearchProductSkuRequest()
{ {
AppKey = request.AppKey, AppKey = request.AppKey,
AppSecret = request.AppSecret, AppSecret = request.AppSecret,
AppToken = request.AppToken, AppToken = request.AppToken,
Platform = Enums.Platform., Platform = Enums.Platform.,
Spu = request.MainProductSpu Spu = request.MainProductSpu,
IsContainSource = true
}); });
foreach (var ps in _mainProductSkuList)
//记录上架返回值
nLogManager.Default().Info($"查询上架的赠品,任务Id {request.Id} 店铺Id {request.ShopId}, {JsonConvert.SerializeObject(newMainProductSkuList)}");
foreach (var ps in newMainProductSkuList)
{ {
if (request.GiftTemplateSkuList.Any(x => x.Title == ps.Title)) if (request.GiftTemplateSkuList.Any(x => x.Title == ps.Title))
{ {
//此sku是赠品sku //此sku是赠品sku
newSkuIdList.Add(ps.Id); //newSkuIdList.Add(ps.Id);
giftSkuList.Add(ps);
} }
} }
if (newSkuIdList.Count() == 0) if (giftSkuList.Count() == 0)
throw new BusinessException("未能从sku列表接口正常获取新上架sku"); throw new BusinessException("未能从sku列表接口正常获取新上架sku");
}
#endregion
giftSkuIdList.AddRange(newSkuIdList); giftSkuIdList.AddRange(giftSkuList.Select(gs => gs.Id));
stepText = "获取上架sku"; stepText = "设置赠品图片";
var newSkuList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList(); //var newSkuList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList();
var imgIndex = 1; var imgIndex = 1;
StringBuilder colorBuilder = new StringBuilder(); StringBuilder colorBuilder = new StringBuilder();
StringBuilder imgUrlBuilder = new StringBuilder(); StringBuilder imgUrlBuilder = new StringBuilder();
StringBuilder imgIndexBuilder = new StringBuilder(); StringBuilder imgIndexBuilder = new StringBuilder();
foreach (var skuJToken in newSkuList) foreach (var giftsku in giftSkuList)
{ {
var skuJToken = giftsku.Source;
var skuTitle = skuJToken["saleAttrs"][0]["attrValueAlias"][0].ToString(); var skuTitle = skuJToken["saleAttrs"][0]["attrValueAlias"][0].ToString();
var colorId = "0000000000"; var colorId = "0000000000";
try try
@ -1212,22 +1229,22 @@ namespace BBWY.Server.Business
#endregion #endregion
#region 查询上架的赠品 //#region 查询上架的赠品
stepText = "查询上架的赠品SKU"; //stepText = "查询上架的赠品SKU";
Thread.Sleep(60 * 1000); //Thread.Sleep(60 * 1000);
searchProductSkuRequest.Sku = string.Join(",", giftSkuIdList); //searchProductSkuRequest.Sku = string.Join(",", giftSkuIdList);
searchProductSkuRequest.CheckStep = "上架的赠品"; //searchProductSkuRequest.CheckStep = "上架的赠品";
try //try
{ //{
giftSkuList = GetProductSkuList(searchProductSkuRequest); // giftSkuList = GetProductSkuList(searchProductSkuRequest);
} //}
catch //catch
{ //{
RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, giftSkuIdList, request.MainProductSpu, request.FullTitle, brandName, haveGiftTemplateSku); // RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, giftSkuIdList, request.MainProductSpu, request.FullTitle, brandName, haveGiftTemplateSku);
throw; // throw;
} //}
#endregion //#endregion
} }
#region 创建活动 #region 创建活动

Loading…
Cancel
Save