From 774a5854d63a19747647b1a15a60ea1f3e265665 Mon Sep 17 00:00:00 2001 From: sanji Date: Mon, 18 Dec 2023 13:44:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dskutitle=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlatformSDK/JDBusiness.cs | 49 ++++++++++++++----- 1 file changed, 36 insertions(+), 13 deletions(-) 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)