- v2 ChangeMobile

This commit is contained in:
gazebo
2019-03-04 14:36:00 +08:00
parent f65f3dfadb
commit 9a581f1eba
5 changed files with 59 additions and 25 deletions

View File

@@ -90,6 +90,7 @@ var (
ErrIllegalAuthType = errors.New("非法的登录类型")
ErrAuthTypeAlreadyExist = errors.New("要登录类型已经存在")
ErrCaptchaIsNotOk = errors.New("图形校验码不正确")
ErrNeedV2Token = errors.New("需要V2版的TOKEN")
)
func init() {

View File

@@ -5,6 +5,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/auth2"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
)
@@ -58,3 +59,29 @@ func RegisterUser(user *model.User, mobileVerifyCode string, inAuthInfo *auth2.A
}
return outAuthInfo, err
}
func GetUserBindAuthInfo(ctx *jxcontext.Context) (authList []*model.AuthBind, err error) {
authInfo, err := ctx.GetV2AuthInfo()
if err == nil {
return dao.GetUserBindAuthInfo(dao.GetDB(), authInfo.GetID())
}
return nil, err
}
func ChangeMobile2(ctx *jxcontext.Context, mobile, mobileVerifyCode string) (err error) {
authInfo, err := ctx.GetV2AuthInfo()
if err == nil {
mobileAuth, err2 := auth2.Login(auth2.AuthTypeMobile, mobile, auth2.UserIDNone, mobileVerifyCode)
if err = err2; err == nil {
if mobileAuth.IUser != nil && authInfo.GetID() != mobileAuth.GetID() {
return errors.New("手机号已经存在")
}
_, err = dao.UpdateEntityLogically(dao.GetDB(), &model.User{}, map[string]interface{}{
"Mobile": mobile,
}, ctx.GetUserName(), map[string]interface{}{
"UserID": authInfo.GetID(),
})
}
}
return err
}

View File

@@ -122,6 +122,14 @@ func (ctx *Context) GetLoginInfo() IAuther {
return ctx.userInfo
}
func (ctx *Context) GetV2AuthInfo() (authInfo *auth2.AuthInfo, err error) {
authInfo, ok := ctx.userInfo.(*auth2.AuthInfo)
if ok {
return authInfo, nil
}
return nil, auth2.ErrNeedV2Token
}
func (ctx *Context) GetRootTask() tasksch.ITask {
ctx.locker.RLock()
defer ctx.locker.RUnlock()