package user import ( "eta/eta_mini_ht_api/models" "time" ) const ( defaultColumn = "id,real_name,id_no,id_end_date,account_status" updateColumn = "real_name,id_no,id_begin_date,id_end_date,id_kind,id_no,account_status,update_time" ) type User struct { ID int `gorm:"column:id;primaryKey"` TemplateUserID int `gorm:"column:template_user_id"` RealName string `gorm:"column:real_name;size:255"` IDNo string `gorm:"column:id_no;size:15"` IDKind int `gorm:"column:id_kind"` IDBeginDate time.Time `gorm:"column:id_begin_date"` IDEndDate time.Time `gorm:"column:id_end_date"` AccountStatus AccountStatus `gorm:"column:account_status;type:enum('unOpen','opening','open')"` CreatedTime time.Time `gorm:"column:created_time"` UpdatedTime time.Time `gorm:"column:updated_time"` } func GetUserByTemplateUserId(templateUserId int) (user User, err error) { db := models.Main() err = db.Select(defaultColumn).Where("template_user_id=?", templateUserId).First(&user).Error return } func GetThirdUserInfoByTemplateUserId(templateUserId int) (user User, err error) { db := models.Main() err = db.Select("*").Where("template_user_id=?", templateUserId).First(&user).Error return } func OpenAccountSuccess(info User) (err error) { db := models.Main() tx := db.Begin() if tx.Error != nil { return } defer func() { if err != nil { tx.Rollback() return } tx.Commit() }() err = tx.Save(&info).Error if err != nil { return } err = tx.Exec("update template_users set account_status='open' where id=?", info.TemplateUserID).Error return }