You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.2 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. package dbModel
  2. import (
  3. "github.com/jinzhu/gorm"
  4. "github.com/pkg/errors"
  5. uuid "github.com/satori/go.uuid"
  6. "main/init/qmsql"
  7. "main/tools"
  8. )
  9. type User struct {
  10. gorm.Model `json:"-"`
  11. UUID uuid.UUID `json:"uuid"`
  12. UserName string `json:"userName"`
  13. PassWord string `json:"passWord"`
  14. NickName string `json:"nickName" gorm:"default:'QMPlusUser'"`
  15. HeaderImg string `json:"headerImg" gorm:"default:'http://www.henrongyi.top/avatar/lufu.jpg'"`
  16. //Propertie // 多余属性自行添加
  17. //PropertieId uint // 自动关联 Propertie 的Id 附加属性过多 建议创建一对一关系
  18. }
  19. //type Propertie struct {
  20. // gorm.Model
  21. //}
  22. //注册接口model方法
  23. func (u *User) Regist() (err error, userInter *User) {
  24. var user User
  25. //判断用户名是否注册
  26. findErr := qmsql.DEFAULTDB.Where("user_name = ?", u.UserName).First(&user).Error
  27. //err为nil表明读取到了 不能注册
  28. if findErr == nil {
  29. return errors.New("用户名已注册"), nil
  30. } else {
  31. // 否则 附加uuid 密码md5简单加密 注册
  32. u.PassWord = tools.MD5V(u.PassWord)
  33. u.UUID = uuid.NewV4()
  34. err = qmsql.DEFAULTDB.Create(u).Error
  35. }
  36. return err, u
  37. }
  38. //修改用户密码
  39. func (u *User) ChangePassWord(newPassWord string) (err error, userInter *User) {
  40. var user User
  41. //后期修改jwt+password模式
  42. u.PassWord = tools.MD5V(u.PassWord)
  43. err = qmsql.DEFAULTDB.Where("user_name = ? AND pass_word = ?", u.UserName, u.PassWord).First(&user).Update("pass_word", tools.MD5V(newPassWord)).Error
  44. return err, u
  45. }
  46. //用户更新接口
  47. func (u *User) UpdataUser() (err error, userInter *User) {
  48. err = qmsql.DEFAULTDB.Create(u).Error
  49. return err, u
  50. }
  51. //用户登录
  52. func (u *User) Login() (err error, userInter *User) {
  53. var user User
  54. u.PassWord = tools.MD5V(u.PassWord)
  55. err = qmsql.DEFAULTDB.Where("user_name = ? AND pass_word = ?", u.UserName, u.PassWord).First(&user).Error
  56. return err, &user
  57. }
  58. // 用户头像上传更新地址
  59. func (u *User) UploadHeaderImg(userName string, filePath string) (err error, userInter *User) {
  60. var user User
  61. err = qmsql.DEFAULTDB.Where("user_name = ?", userName).First(&user).Update("header_img", filePath).First(&user).Error
  62. return err, &user
  63. }