🎨 优化微信登录流程&新增手机和微信绑定接口
This commit is contained in:
@@ -175,3 +175,49 @@ func (u *AppUserService) GetTeacherApplyStatus(id uint) (teacherApply app.Teache
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
// BindWechat 手机登录用户绑定微信
|
||||
func (u *AppUserService) BindWechat(p request.BindWechatReq) (*user.User, error) {
|
||||
var userInfo user.User
|
||||
err := global.GVA_DB.Model(&user.User{}).Where("id = ?", p.Id).First(&userInfo).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("查询用户失败", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if userInfo.OpenId != "" {
|
||||
global.GVA_LOG.Error("用户已绑定微信")
|
||||
return nil, fmt.Errorf("用户已绑定微信")
|
||||
}
|
||||
|
||||
userInfo.OpenId = p.Openid
|
||||
|
||||
err = global.GVA_DB.Save(&userInfo).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("绑定微信失败", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &userInfo, nil
|
||||
}
|
||||
|
||||
// BindPhone 微信登录用户绑定手机号
|
||||
func (u *AppUserService) BindPhone(p request.BindPhoneReq) (*user.User, error) {
|
||||
var userInfo user.User
|
||||
err := global.GVA_DB.Model(&user.User{}).Where("id = ?", p.Id).First(&userInfo).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("查询用户失败", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
userInfo.Phone = p.Phone
|
||||
pwd, _ := bcrypt.GenerateFromPassword([]byte(p.PassWord), bcrypt.DefaultCost)
|
||||
userInfo.Password = string(pwd)
|
||||
err = global.GVA_DB.Save(&userInfo).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("绑定微信失败", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &userInfo, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user