user.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package user
  2. import (
  3. "eta/eta_mini_ht_api/models"
  4. "time"
  5. )
  6. const (
  7. defaultColumn = "id,real_name,id_no,id_end_date,account_status"
  8. updateColumn = "real_name,id_no,id_begin_date,id_end_date,id_kind,id_no,account_status,update_time"
  9. )
  10. type User struct {
  11. ID int `gorm:"column:id;primaryKey"`
  12. TemplateUserID int `gorm:"column:template_user_id"`
  13. RealName string `gorm:"column:real_name;size:255"`
  14. IDNo string `gorm:"column:id_no;size:15"`
  15. IDKind int `gorm:"column:id_kind"`
  16. IDBeginDate time.Time `gorm:"column:id_begin_date"`
  17. IDEndDate time.Time `gorm:"column:id_end_date"`
  18. AccountStatus AccountStatus `gorm:"column:account_status;type:enum('unOpen','opening','open')"`
  19. CreatedTime time.Time `gorm:"column:created_time"`
  20. UpdatedTime time.Time `gorm:"column:updated_time"`
  21. }
  22. func GetUserByTemplateUserId(templateUserId int) (user User, err error) {
  23. db := models.Main()
  24. err = db.Select(defaultColumn).Where("template_user_id=?", templateUserId).First(&user).Error
  25. return
  26. }
  27. func GetThirdUserInfoByTemplateUserId(templateUserId int) (user User, err error) {
  28. db := models.Main()
  29. err = db.Select("*").Where("template_user_id=?", templateUserId).First(&user).Error
  30. return
  31. }
  32. func OpenAccountSuccess(info User) (err error) {
  33. db := models.Main()
  34. tx := db.Begin()
  35. if tx.Error != nil {
  36. return
  37. }
  38. defer func() {
  39. if err != nil {
  40. tx.Rollback()
  41. return
  42. }
  43. tx.Commit()
  44. }()
  45. err = tx.Save(&info).Error
  46. if err != nil {
  47. return
  48. }
  49. err = tx.Exec("update template_users set account_status='open' where id=?", info.TemplateUserID).Error
  50. return
  51. }