diff --git a/model/user.go b/model/user.go index 7844eb6a..06cf685c 100644 --- a/model/user.go +++ b/model/user.go @@ -6,6 +6,7 @@ import ( "gorm.io/gorm" "one-api/common" "strings" + "strconv" ) // User if you add sensitive fields, don't forget to clean them in setupLogin function. @@ -42,7 +43,12 @@ func GetAllUsers(startIdx int, num int) (users []*User, err error) { } func SearchUsers(keyword string) (users []*User, err error) { - err = DB.Omit("password").Where("id = ? or username LIKE ? or email LIKE ? or display_name LIKE ?", keyword, keyword+"%", keyword+"%", keyword+"%").Find(&users).Error + if uid, ok := strconv.Atoi(keyword); ok == nil { + err = DB.Omit("password").Where("id = ? or username LIKE ? or email LIKE ? or display_name LIKE ?", uid, keyword+"%", keyword+"%", keyword+"%").Find(&users).Error + } else { + err = DB.Omit("password").Where("username LIKE ? or email LIKE ? or display_name LIKE ?", keyword+"%", keyword+"%", keyword+"%").Find(&users).Error + } + return users, err }