template_user.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package user
  2. import (
  3. "eta/eta_mini_ht_api/models"
  4. "gorm.io/gorm"
  5. "time"
  6. )
  7. const (
  8. NotDeleted = 0
  9. Deleted = 1
  10. )
  11. type TemplateUser struct {
  12. Id int `gorm:"column:id;primaryKey;autoIncrement:'id'"`
  13. Username string `gorm:"column:username;type:varchar(20);comment:用户名"`
  14. Mobile string `gorm:"column:mobile;type:varchar(15);comment:手机号"`
  15. OpenId string `gorm:"column:open_id;type:varchar(50);comment:open_id"`
  16. GzhOpenId string `gorm:"column:gzh_open_id;type:varchar(255);comment:gzh_open_id"`
  17. UnionId string `gorm:"column:union_id;type:varchar(50);comment:union_id"`
  18. IsDeleted int `gorm:"column:is_deleted;type:int(11);comment:是否删除"`
  19. CreatedTime time.Time `gorm:"column:created_time;type:timestamps;comment:创建时间"`
  20. UpdatedTime time.Time `gorm:"column:updated_time;type:timestamps;comment:更新时间"`
  21. }
  22. func (t *TemplateUser) BeforeCreate(tx *gorm.DB) (err error) {
  23. t.CreatedTime = time.Now()
  24. t.IsDeleted = NotDeleted
  25. return
  26. }
  27. func GetUserByMobile(mobile string) (user TemplateUser, err error) {
  28. return queryByColumn("mobile", mobile)
  29. }
  30. func GetUserByOpenId(openId string) (user TemplateUser, err error) {
  31. return queryByColumn("open_id", openId)
  32. }
  33. func GetUserByUnionId(unionId string) (user TemplateUser, err error) {
  34. return queryByColumn("union_id", unionId)
  35. }
  36. func queryByColumn(column string, value string) (user TemplateUser, err error) {
  37. err = models.Main().Unscoped().Where(column, value).First(&user).Error
  38. return
  39. }
  40. func RegisterTemplateUser(user *TemplateUser) (err error) {
  41. err = models.Main().Create(&user).Error
  42. return
  43. }
  44. func BindMobile(userId int, mobile string) (err error) {
  45. err = models.Main().Table("template_users").Where("id = ?", userId).Updates(map[string]interface{}{"mobile": mobile, "updated_time": time.Now()}).Error
  46. return
  47. }
  48. func BindXcxOpenId(userId int, xcxOpenId string) (err error) {
  49. err = models.Main().Table("template_users").Where("id = ?", userId).Updates(map[string]interface{}{"open_id": xcxOpenId, "updated_time": time.Now()}).Error
  50. return
  51. }
  52. func BindGzhOpenId(userId int, gzhOpenId string) (err error) {
  53. err = models.Main().Table("template_users").Where("id = ?", userId).Updates(map[string]interface{}{"gzh_open_id": gzhOpenId, "updated_time": time.Now()}).Error
  54. return
  55. }
  56. func GetUserByGzhOpenId(gzhOpenId string) (user TemplateUser, err error) {
  57. return queryByColumn("gzh_open_id", gzhOpenId)
  58. }