| | |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | if !user.Enable { |
| | | logx.Errorf("登陆失败! 用户被禁止登录!") |
| | | // 验证码次数+1 |
| | | _ = constvar.BlackCache.Increment(key, 1) |
| | | ctx.Fail(ecode.UserForbidden) |
| | | return |
| | | } |
| | | // 赋值菜单ID列表 |
| | | //user.MenuIds, _ = menuService.GetUserMenuIds(user.ID, user.UserType) |
| | | slf.TokenNext(ctx, *user) |
| | |
| | | claims := j.CreateClaims(request.BaseClaims{ |
| | | UserId: user.ID, |
| | | Username: user.Username, |
| | | ParentId: user.ParentName, |
| | | UserType: user.UserType, |
| | | AuthorityId: user.AuthorityId, |
| | | }) |
| | |
| | | return |
| | | } |
| | | |
| | | if len(params.Username) == 0 || len(params.Password) == 0 || len(params.Phone) == 0 || len(params.NickName) == 0 { |
| | | if len(params.Username) == 0 || len(params.Password) == 0 || len(params.NickName) == 0 || params.AuthorityId == 0 || len(params.RePassword) == 0 || params.DepartmentId == 0 { |
| | | ctx.Fail(ecode.ParamsErr) |
| | | return |
| | | } |
| | |
| | | var userId = fmt.Sprintf("u%v", snowflake.GenerateId()) |
| | | var passWord = encrypt.BcryptHash(params.Password) |
| | | var userType constvar.UserType |
| | | var parentId string |
| | | var parentName string |
| | | if userInfo.UserType == constvar.UserTypeSuper { |
| | | userType = constvar.UserTypePrimary // 主账户的父用户ID是自己 |
| | | parentId = userId |
| | | parentName = params.Username |
| | | } else if userInfo.UserType == constvar.UserTypePrimary { |
| | | userType = constvar.UserTypeSub |
| | | parentId = userInfo.UserId |
| | | parentName = userInfo.ParentId |
| | | } else { |
| | | ctx.Fail(ecode.NoPowerErr) |
| | | return |
| | | } |
| | | |
| | | user := &model.User{ID: userId, Username: params.Username, UserType: userType, NickName: params.NickName, Password: passWord, HeaderImg: params.HeaderImg, Enable: true, ParentId: parentId, ParentName: parentName, Phone: params.Phone, Email: params.Email} |
| | | user := &model.User{ID: userId, Username: params.Username, UserType: userType, NickName: params.NickName, Password: passWord, HeaderImg: params.HeaderImg, Phone: params.Phone, Email: params.Email, DepartmentId: params.DepartmentId, AuthorityId: params.AuthorityId} |
| | | userReturn, errCode := userService.Register(user) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | if user.UserType == constvar.UserTypePrimary { // 主账户创建对应的数据库用户和排程数据库 |
| | | err := model.NewMysql().CreateDatabase(user.Username) |
| | | if err != nil { |
| | | ctx.Fail(ecode.CreateDatabaseErr) |
| | | return |
| | | } |
| | | |
| | | defaultPwd := fmt.Sprintf("%v@Basic2023", user.Username) |
| | | err = model.NewMysql().CreateUser(user.Username, defaultPwd, user.Username) |
| | | if err != nil { |
| | | ctx.Fail(ecode.CreateDatabaseUserErr) |
| | | return |
| | | } |
| | | } |
| | | //if user.UserType == constvar.UserTypePrimary { // 主账户创建对应的数据库用户和排程数据库 |
| | | // err := model.NewMysql().CreateDatabase(user.Username) |
| | | // if err != nil { |
| | | // ctx.Fail(ecode.CreateDatabaseErr) |
| | | // return |
| | | // } |
| | | // |
| | | // defaultPwd := fmt.Sprintf("%v@Basic2023", user.Username) |
| | | // err = model.NewMysql().CreateUser(user.Username, defaultPwd, user.Username) |
| | | // if err != nil { |
| | | // ctx.Fail(ecode.CreateDatabaseUserErr) |
| | | // return |
| | | // } |
| | | //} |
| | | |
| | | ctx.OkWithDetailed(response.UserResponse{User: *userReturn}) |
| | | } |