From 407130818541bf1cc35c6ef2d15b3ea47b1b36d2 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 4 Mar 2019 17:25:29 +0800 Subject: [PATCH] - more detail error info 4 RegisterUser --- business/auth2/auth2.go | 18 ++++++++++-------- business/jxstore/cms/user2.go | 14 ++++++++++---- business/model/error_code.go | 9 +++++---- business/model/user.go | 2 +- controllers/cms_user2.go | 4 ++-- 5 files changed, 28 insertions(+), 19 deletions(-) diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index e672e1c56..93c8e3a16 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -83,14 +83,16 @@ var ( ) var ( - ErrInternalErrror = errors.New("内部错误") - ErrTokenIsInvalid = errors.New("Token非法") - ErrUserAlreadyExist = errors.New("用户已经存在") - ErrUserNotExist = errors.New("用户不存在") - ErrIllegalAuthType = errors.New("非法的登录类型") - ErrAuthTypeAlreadyExist = errors.New("要登录类型已经存在") - ErrCaptchaIsNotOk = errors.New("图形校验码不正确") - ErrNeedV2Token = errors.New("需要V2版的TOKEN") + ErrInternalErrror = errors.New("内部错误") + ErrTokenIsInvalid = errors.New("Token非法") + ErrUserAlreadyExist = errors.New("用户已经存在") + ErrUserMobileAlreadyExist = errors.New("用户手机已经存在") + ErrUserID2AlreadyExist = errors.New("用户标识已经存在") + ErrUserNotExist = errors.New("用户不存在") + ErrIllegalAuthType = errors.New("非法的登录类型") + ErrAuthTypeAlreadyExist = errors.New("要登录类型已经存在") + ErrCaptchaIsNotOk = errors.New("图形校验码不正确") + ErrNeedV2Token = errors.New("需要V2版的TOKEN") ) func init() { diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index b3beac6f6..5f52c047e 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -39,14 +39,15 @@ func init() { auth2.Init(userProvider) } -func RegisterUser(user *model.User, mobileVerifyCode string, inAuthInfo *auth2.AuthInfo) (outAuthInfo *auth2.AuthInfo, err error) { +func RegisterUser(user *model.User, mobileVerifyCode string, inAuthInfo *auth2.AuthInfo) (outAuthInfo *auth2.AuthInfo, errCode string, err error) { + errCode = model.ErrCodeGeneralFailed if user == nil || user.UserID2 == "" || user.Name == "" || user.Mobile == "" { - return nil, ErrUserIDAndNameMustGiven + return nil, model.ErrCodeGeneralFailed, ErrUserIDAndNameMustGiven } mobileAuth, err2 := auth2.Login(auth2.AuthTypeMobile, user.Mobile, auth2.UserIDNone, mobileVerifyCode) if err = err2; err == nil { if mobileAuth.IUser != nil { - return nil, auth2.ErrUserAlreadyExist + return nil, model.ErrCodeUserAlreadyExist, auth2.ErrUserMobileAlreadyExist } dao.WrapAddIDCULDEntity(user, "RegisterUser") user.UserID = utils.GetUUID() @@ -55,9 +56,14 @@ func RegisterUser(user *model.User, mobileVerifyCode string, inAuthInfo *auth2.A if outAuthInfo, err = auth2.BindUser(mobileAuth, user); err == nil && inAuthInfo != nil { err = auth2.AddAuthBind(outAuthInfo, inAuthInfo) } + } else if dao.IsDuplicateError(err) { + errCode = model.ErrCodeUserAlreadyExist } } - return outAuthInfo, err + if err == nil { + errCode = model.ErrCodeSuccess + } + return outAuthInfo, errCode, err } func GetUserBindAuthInfo(ctx *jxcontext.Context) (authList []*model.AuthBind, err error) { diff --git a/business/model/error_code.go b/business/model/error_code.go index 0cfcf4945..0812961ae 100644 --- a/business/model/error_code.go +++ b/business/model/error_code.go @@ -5,10 +5,11 @@ import "errors" const ( ErrorCodeIgnore = "ignore" - ErrCodeSuccess = "0" - ErrCodeGeneralFailed = "-1" - ErrCodeTokenIsInvalid = "-2" - ErrCodeUserNotExist = "-3" + ErrCodeSuccess = "0" + ErrCodeGeneralFailed = "-1" + ErrCodeTokenIsInvalid = "-2" + ErrCodeUserNotExist = "-3" + ErrCodeUserAlreadyExist = "-4" ) var ( diff --git a/business/model/user.go b/business/model/user.go index 74317b493..77d1b9335 100644 --- a/business/model/user.go +++ b/business/model/user.go @@ -20,7 +20,7 @@ func (*User) TableUnique() [][]string { return [][]string{ []string{"UserID", "DeletedAt"}, []string{"UserID2", "DeletedAt"}, - []string{"Name", "DeletedAt"}, + // []string{"Name", "DeletedAt"}, []string{"Mobile", "DeletedAt"}, // []string{"Email", "DeletedAt"}, // []string{"IDCardNo", "DeletedAt"}, diff --git a/controllers/cms_user2.go b/controllers/cms_user2.go index 50158be34..5c16d2aac 100644 --- a/controllers/cms_user2.go +++ b/controllers/cms_user2.go @@ -33,10 +33,10 @@ func (c *User2Controller) RegisterUser() { } if err == nil { if err = jxutils.Strings2Objs(params.Payload, &user); err == nil { - retVal, err = cms.RegisterUser(&user, params.MobileVerifyCode, inAuthInfo) + retVal, errCode, err = cms.RegisterUser(&user, params.MobileVerifyCode, inAuthInfo) } } - return retVal, "", err + return retVal, errCode, err }) }