package user import ( "errors" logger "eta_mini_ht_api/common/component/log" "eta_mini_ht_api/models/user" "gorm.io/gorm" ) type UserDTO struct { Username string Mobile string OpenId string UnionId string } func convertUserDTO(user user.TemplateUser) UserDTO { return UserDTO{ Username: user.Username, Mobile: user.Mobile, } } func GetUserByMobile(mobile string) (UserDTO, error) { var dto UserDTO templateUser, err := user.GetUserByMobile(mobile) if err != nil { if !errors.Is(err, gorm.ErrRecordNotFound) { logger.Error("查询用户失败:%v", err) } return dto, err } dto = convertUserDTO(templateUser) return dto, nil } func RegisterTemplateUser(dto *UserDTO) (err error) { templateUser := convertToTemplateUser(dto) err = user.RegisterTemplateUser(&templateUser) if err != nil { logger.Error("创建临时用户失败:%v", err) return } convertToUserDTO(templateUser, dto) return } func convertToTemplateUser(dto *UserDTO) user.TemplateUser { return user.TemplateUser{ Username: dto.Username, Mobile: dto.Mobile, OpenId: dto.OpenId, UnionId: dto.UnionId, } } func convertToUserDTO(templateUser user.TemplateUser, dto *UserDTO) { dto.Username = templateUser.Username dto.Mobile = templateUser.Mobile dto.OpenId = templateUser.OpenId dto.UnionId = templateUser.UnionId }