Browse Source

修复skutitle识别问题

pjzs_starttask_update
sanji 2 years ago
parent
commit
774a5854d6
  1. 49
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs

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

@ -125,26 +125,49 @@ namespace BBWY.Server.Business
private string GetSkuTitle(JToken s)
{
var title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty;
if (!string.IsNullOrEmpty(title) && title.Contains("id") && title.Contains("value"))
if (s["saleAttrs"] == null)
throw new BusinessException($"{s["skuId"]}没有名字");
StringBuilder titleBuilder = new StringBuilder();
List<string> attrValueAliasList = new List<string>();
attrValueAliasList.AddRange(s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString()));
/*
[{\"unit\":\"\",\"valueId\":\"1120738\",\"id\":8488,\"value\":\"手动\"},{\"unit\":\"个\",\"id\":8489,\"value\":\"30\"},{\"unit\":\"\",\"id\":8490,\"value\":\"大号M416火焰红\"}]-8+40+AWM软弹枪
*/
foreach (var attrValueAlias in attrValueAliasList)
{
if (title.Contains("]-["))
if (attrValueAlias.Contains("{") && attrValueAlias.Contains("}"))
{
title = title.Replace("]-[", "]^[");
var titleArray = title.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
StringBuilder sb = new StringBuilder();
foreach (var titleStr in titleArray)
{
sb.Append(string.Join("", JArray.Parse(titleStr).Select(j => $"{j.Value<string>("value")}{j.Value<string>("unit")}")));
}
title = sb.ToString();
titleBuilder.Append(string.Join(string.Empty, JArray.Parse(attrValueAlias).Select(j => $"{j.Value<string>("value")}{j.Value<string>("unit")}")));
}
else
{
title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value<string>("value")}{j.Value<string>("unit")}"));
titleBuilder.Append(attrValueAlias);
}
}
return title;
return titleBuilder.ToString();
//var title = s["saleAttrs"] != null ? string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())) : string.Empty;
//if (!string.IsNullOrEmpty(title) && title.Contains("id") && title.Contains("value"))
//{
// if (title.Contains("]-["))
// {
// title = title.Replace("]-[", "]^[");
// var titleArray = title.Split(new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries);
// StringBuilder sb = new StringBuilder();
// foreach (var titleStr in titleArray)
// {
// sb.Append(string.Join("", JArray.Parse(titleStr).Select(j => $"{j.Value<string>("value")}{j.Value<string>("unit")}")));
// }
// title = sb.ToString();
// }
// else
// {
// title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value<string>("value")}{j.Value<string>("unit")}"));
// }
//}
//return title;
}
public override IList<ProductSkuResponse> GetProductSkuList(SearchProductSkuRequest searchProductSkuRequest)

Loading…
Cancel
Save