ComposeSkuNameOriginal改用strings.Builder实现

This commit is contained in:
gazebo
2020-01-18 19:17:09 +08:00
parent 5f608514bb
commit 7da96a60f8
2 changed files with 42 additions and 5 deletions

View File

@@ -328,20 +328,28 @@ func FloatWeight2Int(weight float32) int {
}
func ComposeSkuNameOriginal(prefix, name, comment, unit string, spec_quality float32, spec_unit string, maxLen int) (skuName string) {
strBuilder := &strings.Builder{}
if prefix != "" {
skuName = "[" + prefix + "]"
strBuilder.WriteString("[")
strBuilder.WriteString(prefix)
strBuilder.WriteString("]")
}
skuName += name
strBuilder.WriteString(name)
if unit == "份" {
skuName += "约"
strBuilder.WriteString("约")
}
if unit != "" {
skuName += ComposeSkuSpec(spec_quality, spec_unit)
skuName += "/" + unit
strBuilder.WriteString(ComposeSkuSpec(spec_quality, spec_unit))
strBuilder.WriteString("/")
strBuilder.WriteString(unit)
}
if comment != "" {
skuName += "(" + comment + ")"
strBuilder.WriteString("(")
strBuilder.WriteString(comment)
strBuilder.WriteString(")")
}
skuName = strBuilder.String()
if maxLen > 0 {
skuName = utils.LimitUTF8StringLen(skuName, maxLen)
}

View File

@@ -307,3 +307,32 @@ func TestGenFakeUPC(t *testing.T) {
t.Fatal("wrong2")
}
}
func TestComposeSkuNameOriginal(t *testing.T) {
for _, v := range [][]string{
[]string{
"单独商品名3g/件(商品注释)",
"",
"单独商品名",
"商品注释",
"件",
"3.0",
"g",
"0",
},
[]string{
"[高级]单独商品名约3g/份",
"高级",
"单独商品名",
"",
"份",
"3.0",
"g",
"0",
},
} {
if str := ComposeSkuNameOriginal(v[1], v[2], v[3], v[4], float32(utils.Str2Float64(v[5])), v[6], int(utils.Str2Int64(v[7]))); str != v[0] {
t.Errorf("%s failed, result:%s, expect:%s", v[1], str, v[0])
}
}
}