ComposeSkuNameOriginal改用strings.Builder实现
This commit is contained in:
@@ -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) {
|
func ComposeSkuNameOriginal(prefix, name, comment, unit string, spec_quality float32, spec_unit string, maxLen int) (skuName string) {
|
||||||
|
strBuilder := &strings.Builder{}
|
||||||
if prefix != "" {
|
if prefix != "" {
|
||||||
skuName = "[" + prefix + "]"
|
strBuilder.WriteString("[")
|
||||||
|
strBuilder.WriteString(prefix)
|
||||||
|
strBuilder.WriteString("]")
|
||||||
}
|
}
|
||||||
skuName += name
|
skuName += name
|
||||||
|
strBuilder.WriteString(name)
|
||||||
if unit == "份" {
|
if unit == "份" {
|
||||||
skuName += "约"
|
strBuilder.WriteString("约")
|
||||||
}
|
}
|
||||||
if unit != "" {
|
if unit != "" {
|
||||||
skuName += ComposeSkuSpec(spec_quality, spec_unit)
|
strBuilder.WriteString(ComposeSkuSpec(spec_quality, spec_unit))
|
||||||
skuName += "/" + unit
|
strBuilder.WriteString("/")
|
||||||
|
strBuilder.WriteString(unit)
|
||||||
}
|
}
|
||||||
if comment != "" {
|
if comment != "" {
|
||||||
skuName += "(" + comment + ")"
|
strBuilder.WriteString("(")
|
||||||
|
strBuilder.WriteString(comment)
|
||||||
|
strBuilder.WriteString(")")
|
||||||
}
|
}
|
||||||
|
skuName = strBuilder.String()
|
||||||
if maxLen > 0 {
|
if maxLen > 0 {
|
||||||
skuName = utils.LimitUTF8StringLen(skuName, maxLen)
|
skuName = utils.LimitUTF8StringLen(skuName, maxLen)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -307,3 +307,32 @@ func TestGenFakeUPC(t *testing.T) {
|
|||||||
t.Fatal("wrong2")
|
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])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user