123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package user
- import (
- "errors"
- logger "eta/eta_mini_ht_api/common/component/log"
- userDao "eta/eta_mini_ht_api/models/user"
- "gorm.io/gorm"
- )
- type UserDTO struct {
- Id int
- Username string
- Mobile string
- OpenId string
- UnionId string
- }
- type FeedbackDTO struct {
- Mobile string `json:"mobile"`
- UserId int `json:"userId"`
- Message string `json:"message"`
- }
- func convertUserDTO(user userDao.TemplateUser) UserDTO {
- return UserDTO{
- Id: user.Id,
- Username: user.Username,
- Mobile: user.Mobile,
- OpenId: user.OpenId,
- }
- }
- func GetUserByMobile(mobile string) (UserDTO, error) {
- var dto UserDTO
- templateUser, err := userDao.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 = userDao.RegisterTemplateUser(&templateUser)
- if err != nil {
- logger.Error("创建临时用户失败:%v", err)
- return
- }
- convertToUserDTO(templateUser, dto)
- return
- }
- func GetTemplateUserByOpenId(openId string) (user UserDTO, err error) {
- templateUser, err := userDao.GetUserByOpenId(openId)
- if err != nil {
- logger.Error("获取用户信息失败:%v", err)
- return
- }
- user = convertUserDTO(templateUser)
- return
- }
- func FeedBack(dto FeedbackDTO) (err error) {
- feedBackEntity := userDao.FeedBack{
- Message: dto.Message,
- Mobile: dto.Mobile,
- UserID: dto.UserId,
- }
- return userDao.InsertFeedBack(feedBackEntity)
- }
- func convertToTemplateUser(dto *UserDTO) userDao.TemplateUser {
- return userDao.TemplateUser{
- Username: dto.Username,
- Mobile: dto.Mobile,
- OpenId: dto.OpenId,
- UnionId: dto.UnionId,
- }
- }
- func convertToUserDTO(templateUser userDao.TemplateUser, dto *UserDTO) {
- dto.Id = templateUser.Id
- dto.Username = templateUser.Username
- dto.Mobile = templateUser.Mobile
- dto.OpenId = templateUser.OpenId
- dto.UnionId = templateUser.UnionId
- }
- func BindUserMobile(userId int, mobile string) (err error) {
- err = userDao.BindMobile(userId, mobile)
- if err != nil {
- if !errors.Is(err, gorm.ErrRecordNotFound) {
- logger.Error("绑定手机号失败:%v", err)
- }
- return
- }
- return
- }
|