diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index b34c2aff5..a110d2748 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -752,12 +752,12 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric return skuNamesInfo, err } -func CheckHasSensitiveWord(word string) (bool, error) { +func CheckHasSensitiveWord(word string) (bool, string) { if hasSensitiveWord, sensitiveWord := IsSensitiveWordInList(word); hasSensitiveWord { - return true, errors.New(fmt.Sprintf("不能包含敏感词:[%s]", sensitiveWord)) + return true, sensitiveWord } - return false, nil + return false, "" } func IsSensitiveWordInList(str string) (bool, string) { @@ -802,8 +802,8 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s } skuNameExt.Name = utils.TrimBlankChar(skuNameExt.Name) - if hasSensitiveWord, err := CheckHasSensitiveWord(skuNameExt.Name); hasSensitiveWord { - return nil, err + if hasSensitiveWord, word := CheckHasSensitiveWord(skuNameExt.Name); hasSensitiveWord { + skuNameExt.Name = strings.ReplaceAll(skuNameExt.Name, word, "") } upc := utils.Pointer2String(skuNameExt.Upc) if upc == "" { @@ -946,10 +946,11 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf var beforSkuName = *skuName if payload["name"] != nil { newSkuName := utils.TrimBlankChar(utils.Interface2String(payload["name"])) - if hasSensitiveWord, err := CheckHasSensitiveWord(newSkuName); hasSensitiveWord { - return 0, err + if hasSensitiveWord, word := CheckHasSensitiveWord(newSkuName); hasSensitiveWord { + payload["name"] = strings.ReplaceAll(payload["name"].(string), word, "") + } else { + payload["name"] = newSkuName } - payload["name"] = newSkuName } delete(payload, "isSpu")