user_model.go 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Package user 存放用户 Model 相关逻辑
  2. package user
  3. import (
  4. "github.com/runningwater/gohub/app/models"
  5. "github.com/runningwater/gohub/pkg/database"
  6. "github.com/runningwater/gohub/pkg/hash"
  7. )
  8. // User 用户模型
  9. type User struct {
  10. models.BaseModel
  11. Name string `json:"name,omitempty"`
  12. Email string `json:"-"`
  13. Phone string `json:"-"`
  14. Password string `json:"-"`
  15. models.CommonTimestampsField
  16. }
  17. // Create 创建用户, 通过 User.ID 来判断是否创建成功
  18. func (u *User) Create() {
  19. database.DB.Create(&u)
  20. }
  21. // Save 保存用户信息
  22. func (u *User) Save() (rowsAffected int64) {
  23. result := database.DB.Save(&u)
  24. return result.RowsAffected
  25. }
  26. func (u *User) GetStringID() string {
  27. return models.GetStringID(u.ID)
  28. }
  29. // ComparePassword 密码是否匹配
  30. func (u *User) ComparePassword(_password string) bool {
  31. return hash.BcryptCheck(_password, u.Password)
  32. }