user_serivce.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package user
  2. import (
  3. "errors"
  4. logger "eta_mini_ht_api/common/component/log"
  5. "eta_mini_ht_api/models/user"
  6. "gorm.io/gorm"
  7. )
  8. type UserDTO struct {
  9. Username string
  10. Mobile string
  11. OpenId string
  12. UnionId string
  13. }
  14. func convertUserDTO(user user.TemplateUser) UserDTO {
  15. return UserDTO{
  16. Username: user.Username,
  17. Mobile: user.Mobile,
  18. }
  19. }
  20. func GetUserByMobile(mobile string) (UserDTO, error) {
  21. var dto UserDTO
  22. templateUser, err := user.GetUserByMobile(mobile)
  23. if err != nil {
  24. if !errors.Is(err, gorm.ErrRecordNotFound) {
  25. logger.Error("查询用户失败:%v", err)
  26. }
  27. return dto, err
  28. }
  29. dto = convertUserDTO(templateUser)
  30. return dto, nil
  31. }
  32. func RegisterTemplateUser(dto *UserDTO) (err error) {
  33. templateUser := convertToTemplateUser(dto)
  34. err = user.RegisterTemplateUser(&templateUser)
  35. if err != nil {
  36. logger.Error("创建临时用户失败:%v", err)
  37. return
  38. }
  39. convertToUserDTO(templateUser, dto)
  40. return
  41. }
  42. func convertToTemplateUser(dto *UserDTO) user.TemplateUser {
  43. return user.TemplateUser{
  44. Username: dto.Username,
  45. Mobile: dto.Mobile,
  46. OpenId: dto.OpenId,
  47. UnionId: dto.UnionId,
  48. }
  49. }
  50. func convertToUserDTO(templateUser user.TemplateUser, dto *UserDTO) {
  51. dto.Username = templateUser.Username
  52. dto.Mobile = templateUser.Mobile
  53. dto.OpenId = templateUser.OpenId
  54. dto.UnionId = templateUser.UnionId
  55. }