user.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package db
  2. import (
  3. "context"
  4. "fmt"
  5. "gorm.io/gorm"
  6. "youngee_b_api/model/gorm_model"
  7. )
  8. func CreateUser(ctx context.Context, user gorm_model.YounggeeUser) (*int64, error) {
  9. db := GetReadDB(ctx)
  10. err := db.Create(&user).Error
  11. if err != nil {
  12. return nil, err
  13. }
  14. return &user.ID, nil
  15. }
  16. // GetUserByPhone 查不到返回空 根据手机号在User表中查商家用户数据
  17. func GetUserByPhone(ctx context.Context, phone string) (*gorm_model.YounggeeUser, error) {
  18. db := GetReadDB(ctx)
  19. user := &gorm_model.YounggeeUser{}
  20. err := db.Model(user).Where("phone = ? AND role = 3", phone).First(user).Error
  21. if err != nil {
  22. if err == gorm.ErrRecordNotFound {
  23. fmt.Println("record not found")
  24. return nil, nil
  25. }
  26. return nil, err
  27. }
  28. return user, nil
  29. }
  30. // GetSubUserByPhone 根据手机号在user表中查找子账号用户
  31. func GetSubUserByPhone(ctx context.Context, phone string) (*gorm_model.YounggeeUser, error) {
  32. db := GetReadDB(ctx)
  33. user := &gorm_model.YounggeeUser{}
  34. err := db.Model(user).Where("phone = ?", phone).First(user).Error
  35. if err != nil {
  36. if err == gorm.ErrRecordNotFound {
  37. fmt.Println("record not found")
  38. return nil, nil
  39. }
  40. return nil, err
  41. }
  42. return user, nil
  43. }
  44. // GetUserByID 查不到返回空
  45. func GetUserByID(ctx context.Context, ID int64) (*gorm_model.YounggeeUser, error) {
  46. db := GetReadDB(ctx)
  47. user := &gorm_model.YounggeeUser{}
  48. err := db.Model(user).Where("id = ?", ID).First(user).Error
  49. if err != nil {
  50. if err == gorm.ErrRecordNotFound {
  51. fmt.Println("record not found")
  52. return nil, nil
  53. }
  54. return nil, err
  55. }
  56. return user, nil
  57. }
  58. func UpdateUser(ctx context.Context, UserID int64, UserName string, Email string) (*int64, error) {
  59. db := GetReadDB(ctx)
  60. user := &gorm_model.YounggeeUser{}
  61. err := db.Model(user).Where("id = ?", UserID).Updates(map[string]interface{}{"UserName": UserName, "Email": Email}).Error
  62. if err != nil {
  63. fmt.Println("Update User Failed!")
  64. return nil, err
  65. }
  66. return &UserID, nil
  67. }
  68. // UpdateUserById 更新User信息ById
  69. func UpdateUserById(ctx context.Context, userInfo *gorm_model.YounggeeUser) error {
  70. db := GetWriteDB(ctx)
  71. whereCondition := gorm_model.YounggeeUser{ID: userInfo.ID}
  72. err := db.Model(&gorm_model.YounggeeUser{}).Where(whereCondition).Updates(userInfo).Error
  73. if err != nil {
  74. return err
  75. }
  76. return nil
  77. }