diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index 351acc47..e179ae9d 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/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 attrValueAliasList = new List(); + + 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("value")}{j.Value("unit")}"))); - } - title = sb.ToString(); + titleBuilder.Append(string.Join(string.Empty, JArray.Parse(attrValueAlias).Select(j => $"{j.Value("value")}{j.Value("unit")}"))); } else { - title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value("value")}{j.Value("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("value")}{j.Value("unit")}"))); + // } + // title = sb.ToString(); + // } + // else + // { + // title = string.Join("", JArray.Parse(title).Select(j => $"{j.Value("value")}{j.Value("unit")}")); + // } + //} + //return title; } public override IList GetProductSkuList(SearchProductSkuRequest searchProductSkuRequest)