|
@@ -53,6 +53,7 @@ func (l *loginAuth) AuthCode(ctx context.Context, phone string, code string) (st
|
|
|
user, err := db.GetUserByPhone(ctx, phone)
|
|
|
fmt.Println("login_auth", user, err)
|
|
|
if err != nil {
|
|
|
+ // 数据库操作错误
|
|
|
return "", err
|
|
|
} else if user == nil {
|
|
|
// 账号不存在,则注册账号
|
|
@@ -193,3 +194,56 @@ func (l *loginAuth) encryptPassword(password string) string {
|
|
|
func (l *loginAuth) getRedisKey(key string) string {
|
|
|
return fmt.Sprintf("%s%s", consts.SessionRedisPrefix, key)
|
|
|
}
|
|
|
+
|
|
|
+func (l *loginAuth) SubAccountAuthCode(ctx context.Context, phone string, code string) (string, error) {
|
|
|
+ user, err := db.FindSubAccountByPhone(ctx, phone)
|
|
|
+ phoneNumber := phone
|
|
|
+ fmt.Println("login_auth", user, err)
|
|
|
+ if err != nil {
|
|
|
+ // 数据库错误
|
|
|
+ return "数据库错误", err
|
|
|
+ } else if user == nil {
|
|
|
+ // 账号不存在,则判断此手机号码是否被商家主账号注册
|
|
|
+ user, err := db.GetUserByPhone(ctx, phoneNumber)
|
|
|
+ if err != nil {
|
|
|
+ // 数据库操作错误
|
|
|
+ return "", err
|
|
|
+ } else if user == nil {
|
|
|
+ // 没有被商家主账户注册,则可以注册
|
|
|
+ vcode, err := l.getSessionCode(ctx, phoneNumber)
|
|
|
+ if err != nil {
|
|
|
+ return "session err", err
|
|
|
+ }
|
|
|
+ fmt.Printf("缓存的验证码 vcode: %v,实际填入的 code:%v", vcode, code)
|
|
|
+ if vcode != code {
|
|
|
+ // 验证码错误
|
|
|
+ logrus.Debugf("[AuthCode] auth fail,phone:%+v", phone)
|
|
|
+ return "验证码有误", errors.New("auth fail")
|
|
|
+ }
|
|
|
+ return "1", err
|
|
|
+ } else if string(user.Role) != consts.BRole {
|
|
|
+ if user.AuthStatus == 1 {
|
|
|
+ // 被商家主账户注册,未认证,则可以注册
|
|
|
+ vcode, err := l.getSessionCode(ctx, phoneNumber)
|
|
|
+ if err != nil {
|
|
|
+ return "session err", err
|
|
|
+ }
|
|
|
+ fmt.Printf("缓存的验证码 vcode: %v,实际填入的 code:%v", vcode, code)
|
|
|
+ if vcode != code {
|
|
|
+ // 验证码错误
|
|
|
+ logrus.Debugf("[AuthCode] auth fail,phone:%+v", phone)
|
|
|
+ return "验证码有误", errors.New("auth fail")
|
|
|
+ }
|
|
|
+ return "1", err
|
|
|
+ } else {
|
|
|
+ return "主账号存在", errors.New("auth fail")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if user != nil {
|
|
|
+ // 子账号存在,则无法注册
|
|
|
+ logrus.Debugf("[AuthCode] auth fail,phone:%+v", phone)
|
|
|
+ return "子账号存在", errors.New("auth fail")
|
|
|
+ }
|
|
|
+ return "", nil
|
|
|
+
|
|
|
+}
|