user.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. err = tx.Rollback().Error
  41. return
  42. }
  43. err = tx.Commit().Error
  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' , username=? where id=?", info.RealName, info.TemplateUserID).Error
  50. return
  51. }
  52. func UpdateIDInfo(info User) (err error) {
  53. db := models.Main()
  54. tx := db.Begin()
  55. if tx.Error != nil {
  56. return
  57. }
  58. defer func() {
  59. if err != nil {
  60. err = tx.Rollback().Error
  61. return
  62. }
  63. err = tx.Commit().Error
  64. }()
  65. err = tx.Save(&info).Error
  66. if err != nil {
  67. return
  68. }
  69. DateStr := info.IDEndDate.Format(time.DateOnly)
  70. err = tx.Exec("update template_users set risk_valid_end_date=? where id=?", DateStr, info.TemplateUserID).Error
  71. return
  72. }