diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 1c0b7a74a..80503a095 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -9,6 +9,7 @@ import ( "math" "mime/multipart" "net/http" + "reflect" "regexp" "strconv" "strings" @@ -1275,15 +1276,27 @@ func updateOrCreateSkuVendorCategoryMap(db *dao.DaoDB, ctx *jxcontext.Context, n mtwmCategoryID = payload["mtwmCategoryID"].(string) } if payload["categoryID2"] != nil && !utils.IsNil(payload["categoryID2"]) { - jxCategoryIDNumber, err := payload["categoryID2"].(json.Number).Int64() - if err != nil { + vi := reflect.ValueOf(payload["categoryID2"]) + var jxCategoryIDNumber int64 + switch vi.Kind() { + case reflect.String: jxCategoryIDNumber = utils.Str2Int64(payload["categoryID2"].(string)) + case reflect.Int64, reflect.Int: + jxCategoryIDNumber, _ = payload["categoryID2"].(int64) + default: + jxCategoryIDNumber, _ = payload["categoryID2"].(json.Number).Int64() } jxCategoryID = int(jxCategoryIDNumber) } else if payload["categoryID"] != nil && !utils.IsNil(payload["categoryID"]) { - jxCategoryIDNumber, err := payload["categoryID"].(json.Number).Int64() - if err != nil { - jxCategoryIDNumber = utils.Str2Int64(payload["categoryID2"].(string)) + vi := reflect.ValueOf(payload["categoryID"]) + var jxCategoryIDNumber int64 + switch vi.Kind() { + case reflect.String: + jxCategoryIDNumber = utils.Str2Int64(payload["categoryID"].(string)) + case reflect.Int64, reflect.Int: + jxCategoryIDNumber, _ = payload["categoryID"].(int64) + default: + jxCategoryIDNumber, _ = payload["categoryID"].(json.Number).Int64() } jxCategoryID = int(jxCategoryIDNumber) } else {