user_util.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package user
  2. import "github.com/runningwater/gohub/pkg/database"
  3. func IsEmailExist(email string) bool {
  4. var count int64
  5. database.DB.Model(&User{}).Where("email = ?", email).Count(&count)
  6. return count > 0
  7. }
  8. func IsPhoneExist(phone string) bool {
  9. var count int64
  10. database.DB.Model(&User{}).Where("phone = ?", phone).Count(&count)
  11. return count > 0
  12. }
  13. // GetByMulti 多条件查询,支持手机号、邮箱和用户名
  14. // 按顺序检查并返回第一个匹配的用户
  15. func GetByMulti(loginID string) (userModel User) {
  16. database.DB.
  17. Where("phone = ?", loginID).
  18. Or("email =?", loginID).
  19. Or("name =?", loginID).
  20. First(&userModel)
  21. return
  22. }
  23. // GetByPhone 根据手机号查询用户
  24. func GetByPhone(phone string) (userModel User) {
  25. database.DB.Where("phone = ?", phone).First(&userModel)
  26. return
  27. }
  28. // Get 根据 ID 查询用户
  29. func Get(idStr string) (userModel User) {
  30. database.DB.Where("id =?", idStr).First(&userModel)
  31. return
  32. }
  33. // All 查询所有用户
  34. func All() (users []User) {
  35. database.DB.Find(&users)
  36. return
  37. }