正在显示
18 个修改的文件
包含
114 行增加
和
1305 行删除
| @@ -4,8 +4,8 @@ import ( | @@ -4,8 +4,8 @@ import ( | ||
| 4 | "github.com/GeeTeam/gt3-golang-sdk/geetest" | 4 | "github.com/GeeTeam/gt3-golang-sdk/geetest" |
| 5 | "github.com/google/uuid" | 5 | "github.com/google/uuid" |
| 6 | "github.com/linmadan/egglib-go/utils/json" | 6 | "github.com/linmadan/egglib-go/utils/json" |
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/auth/dto" | ||
| 7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/auth/query" | 8 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/auth/query" |
| 8 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/auth/dto" | ||
| 9 | "time" | 9 | "time" |
| 10 | 10 | ||
| 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log" | 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log" |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - | ||
| 6 | - "github.com/beego/beego/v2/core/validation" | ||
| 7 | -) | ||
| 8 | - | ||
| 9 | -type AccessTokenCommand struct { | ||
| 10 | - AuthCode string `json:"authCode" valid:"Required"` | ||
| 11 | -} | ||
| 12 | - | ||
| 13 | -func (orgAddCommand *AccessTokenCommand) Valid(validation *validation.Validation) { | ||
| 14 | - | ||
| 15 | -} | ||
| 16 | - | ||
| 17 | -func (orgAddCommand *AccessTokenCommand) ValidateCommand() error { | ||
| 18 | - valid := validation.Validation{} | ||
| 19 | - b, err := valid.Valid(orgAddCommand) | ||
| 20 | - if err != nil { | ||
| 21 | - return err | ||
| 22 | - } | ||
| 23 | - if !b { | ||
| 24 | - for _, validErr := range valid.Errors { | ||
| 25 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 26 | - } | ||
| 27 | - } | ||
| 28 | - return nil | ||
| 29 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - "reflect" | ||
| 6 | - "strings" | ||
| 7 | - | ||
| 8 | - "github.com/beego/beego/v2/core/validation" | ||
| 9 | -) | ||
| 10 | - | ||
| 11 | -type CompanySignUpCommand struct { | ||
| 12 | - // 企业名称 | ||
| 13 | - CompanyName string `cname:"企业名称" json:"companyName" valid:"Required"` | ||
| 14 | - // 联系人 | ||
| 15 | - Contacts string `cname:"联系人" json:"userName" valid:"Required"` | ||
| 16 | - // 手机号码 | ||
| 17 | - Phone string `cname:"手机号码" json:"phone" valid:"Required"` | ||
| 18 | - // 规模 | ||
| 19 | - Scale string `cname:"规模" json:"scale" valid:"Required"` | ||
| 20 | - // 所属行业 | ||
| 21 | - IndustryCategory string `cname:"所属行业" json:"industryCategory" valid:"Required"` | ||
| 22 | - // 密码 | ||
| 23 | - Password string `cname:"密码" json:"password" valid:"Required"` | ||
| 24 | - // 短信验证码 | ||
| 25 | - SmsCode string `cname:"短信验证码" json:"smsCode" valid:"Required"` | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -func (companySignUpCommand *CompanySignUpCommand) Valid(validation *validation.Validation) { | ||
| 29 | - //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | -func (companySignUpCommand *CompanySignUpCommand) ValidateCommand() error { | ||
| 33 | - valid := validation.Validation{} | ||
| 34 | - b, err := valid.Valid(companySignUpCommand) | ||
| 35 | - if err != nil { | ||
| 36 | - return err | ||
| 37 | - } | ||
| 38 | - if !b { | ||
| 39 | - elem := reflect.TypeOf(companySignUpCommand).Elem() | ||
| 40 | - for _, validErr := range valid.Errors { | ||
| 41 | - field, isExist := elem.FieldByName(validErr.Field) | ||
| 42 | - if isExist { | ||
| 43 | - return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 44 | - } else { | ||
| 45 | - return fmt.Errorf(validErr.Message) | ||
| 46 | - } | ||
| 47 | - } | ||
| 48 | - } | ||
| 49 | - return nil | ||
| 50 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - | ||
| 6 | - "github.com/beego/beego/v2/core/validation" | ||
| 7 | -) | ||
| 8 | - | ||
| 9 | -type LoginCommand struct { | ||
| 10 | - Phone string `json:"phone" valid:"Required"` | ||
| 11 | - GrantType string `json:"grantType" valid:"Required"` //登录方式(signInPassword 密码登录、signInCaptcha 验证码登录) | ||
| 12 | - Password string `json:"password"` | ||
| 13 | - Captcha string `json:"captcha"` | ||
| 14 | -} | ||
| 15 | - | ||
| 16 | -func (orgAddCommand *LoginCommand) Valid(validation *validation.Validation) { | ||
| 17 | - | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (orgAddCommand *LoginCommand) ValidateCommand() error { | ||
| 21 | - valid := validation.Validation{} | ||
| 22 | - b, err := valid.Valid(orgAddCommand) | ||
| 23 | - if err != nil { | ||
| 24 | - return err | ||
| 25 | - } | ||
| 26 | - if !b { | ||
| 27 | - for _, validErr := range valid.Errors { | ||
| 28 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 29 | - } | ||
| 30 | - } | ||
| 31 | - return nil | ||
| 32 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - | ||
| 6 | - "github.com/beego/beego/v2/core/validation" | ||
| 7 | -) | ||
| 8 | - | ||
| 9 | -type RefreshTokenCommand struct { | ||
| 10 | - RefreshToken string `json:"refreshToken" valid:"Required"` | ||
| 11 | -} | ||
| 12 | - | ||
| 13 | -func (orgAddCommand *RefreshTokenCommand) Valid(validation *validation.Validation) { | ||
| 14 | - | ||
| 15 | -} | ||
| 16 | - | ||
| 17 | -func (orgAddCommand *RefreshTokenCommand) ValidateCommand() error { | ||
| 18 | - valid := validation.Validation{} | ||
| 19 | - b, err := valid.Valid(orgAddCommand) | ||
| 20 | - if err != nil { | ||
| 21 | - return err | ||
| 22 | - } | ||
| 23 | - if !b { | ||
| 24 | - for _, validErr := range valid.Errors { | ||
| 25 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 26 | - } | ||
| 27 | - } | ||
| 28 | - return nil | ||
| 29 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - "reflect" | ||
| 6 | - "strings" | ||
| 7 | - | ||
| 8 | - "github.com/beego/beego/v2/core/validation" | ||
| 9 | -) | ||
| 10 | - | ||
| 11 | -type ResetPasswordCommand struct { | ||
| 12 | - // 手机号码 | ||
| 13 | - // Phone string `cname:"手机号码" json:"phone" valid:"Required"` | ||
| 14 | - // 密码 | ||
| 15 | - Password string `cname:"密码" json:"newPassword"` | ||
| 16 | - // 密码 | ||
| 17 | - RepeatNewPassword string `cname:"密码" json:"repeatNewPassword" valid:"Required"` | ||
| 18 | - // 密码 | ||
| 19 | - SmsCodeIdentity string `cname:"密码" json:"smsCodeIdentity" valid:"Required"` | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (resetPasswordCommand *ResetPasswordCommand) Valid(validation *validation.Validation) { | ||
| 23 | - if len(resetPasswordCommand.Password) == 0 { | ||
| 24 | - validation.Error("登录密码不能为空") | ||
| 25 | - return | ||
| 26 | - } | ||
| 27 | - if resetPasswordCommand.Password != resetPasswordCommand.RepeatNewPassword { | ||
| 28 | - validation.Error("两次密码输入不一致") | ||
| 29 | - return | ||
| 30 | - } | ||
| 31 | -} | ||
| 32 | - | ||
| 33 | -func (resetPasswordCommand *ResetPasswordCommand) ValidateCommand() error { | ||
| 34 | - valid := validation.Validation{} | ||
| 35 | - b, err := valid.Valid(resetPasswordCommand) | ||
| 36 | - if err != nil { | ||
| 37 | - return err | ||
| 38 | - } | ||
| 39 | - if !b { | ||
| 40 | - elem := reflect.TypeOf(resetPasswordCommand).Elem() | ||
| 41 | - for _, validErr := range valid.Errors { | ||
| 42 | - field, isExist := elem.FieldByName(validErr.Field) | ||
| 43 | - if isExist { | ||
| 44 | - return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 45 | - } else { | ||
| 46 | - return fmt.Errorf(validErr.Message) | ||
| 47 | - } | ||
| 48 | - } | ||
| 49 | - } | ||
| 50 | - return nil | ||
| 51 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - "github.com/beego/beego/v2/core/validation" | ||
| 6 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 7 | -) | ||
| 8 | - | ||
| 9 | -type SwitchOrgCommand struct { | ||
| 10 | - //操作人 | ||
| 11 | - Operator domain.Operator `json:"-"` | ||
| 12 | - // 组织ID | ||
| 13 | - OrgId int64 `json:"orgId,string"` | ||
| 14 | -} | ||
| 15 | - | ||
| 16 | -func (switchOrgCommand *SwitchOrgCommand) Valid(validation *validation.Validation) { | ||
| 17 | - | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (switchOrgCommand *SwitchOrgCommand) ValidateCommand() error { | ||
| 21 | - valid := validation.Validation{} | ||
| 22 | - b, err := valid.Valid(switchOrgCommand) | ||
| 23 | - if err != nil { | ||
| 24 | - return err | ||
| 25 | - } | ||
| 26 | - if !b { | ||
| 27 | - for _, validErr := range valid.Errors { | ||
| 28 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 29 | - } | ||
| 30 | - } | ||
| 31 | - return nil | ||
| 32 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 6 | - | ||
| 7 | - "github.com/beego/beego/v2/core/validation" | ||
| 8 | -) | ||
| 9 | - | ||
| 10 | -type UserInfoCommand struct { | ||
| 11 | - //操作人 | ||
| 12 | - Operator domain.Operator `json:"-"` | ||
| 13 | -} | ||
| 14 | - | ||
| 15 | -func (userInfoCommand *UserInfoCommand) Valid(validation *validation.Validation) { | ||
| 16 | - | ||
| 17 | -} | ||
| 18 | - | ||
| 19 | -func (userInfoCommand *UserInfoCommand) ValidateCommand() error { | ||
| 20 | - valid := validation.Validation{} | ||
| 21 | - b, err := valid.Valid(userInfoCommand) | ||
| 22 | - if err != nil { | ||
| 23 | - return err | ||
| 24 | - } | ||
| 25 | - if !b { | ||
| 26 | - for _, validErr := range valid.Errors { | ||
| 27 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 28 | - } | ||
| 29 | - } | ||
| 30 | - return nil | ||
| 31 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 6 | - | ||
| 7 | - "github.com/beego/beego/v2/core/validation" | ||
| 8 | -) | ||
| 9 | - | ||
| 10 | -type UserMenusCommand struct { | ||
| 11 | - //操作人 | ||
| 12 | - Operator domain.Operator `json:"-"` | ||
| 13 | -} | ||
| 14 | - | ||
| 15 | -func (userMenusCommand *UserMenusCommand) Valid(validation *validation.Validation) { | ||
| 16 | - | ||
| 17 | -} | ||
| 18 | - | ||
| 19 | -func (userMenusCommand *UserMenusCommand) ValidateCommand() error { | ||
| 20 | - valid := validation.Validation{} | ||
| 21 | - b, err := valid.Valid(userMenusCommand) | ||
| 22 | - if err != nil { | ||
| 23 | - return err | ||
| 24 | - } | ||
| 25 | - if !b { | ||
| 26 | - for _, validErr := range valid.Errors { | ||
| 27 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 28 | - } | ||
| 29 | - } | ||
| 30 | - return nil | ||
| 31 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - "github.com/beego/beego/v2/core/validation" | ||
| 6 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 7 | -) | ||
| 8 | - | ||
| 9 | -type UserOrgCommand struct { | ||
| 10 | - //操作人 | ||
| 11 | - Operator domain.Operator `json:"-"` | ||
| 12 | -} | ||
| 13 | - | ||
| 14 | -func (userOrgCommand *UserOrgCommand) Valid(validation *validation.Validation) { | ||
| 15 | - | ||
| 16 | -} | ||
| 17 | - | ||
| 18 | -func (userOrgCommand *UserOrgCommand) ValidateCommand() error { | ||
| 19 | - valid := validation.Validation{} | ||
| 20 | - b, err := valid.Valid(userOrgCommand) | ||
| 21 | - if err != nil { | ||
| 22 | - return err | ||
| 23 | - } | ||
| 24 | - if !b { | ||
| 25 | - for _, validErr := range valid.Errors { | ||
| 26 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 27 | - } | ||
| 28 | - } | ||
| 29 | - return nil | ||
| 30 | -} |
| 1 | -package service | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "time" | ||
| 5 | - | ||
| 6 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log" | ||
| 7 | - | ||
| 8 | - "github.com/linmadan/egglib-go/core/application" | ||
| 9 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/factory" | ||
| 10 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/auth/command" | ||
| 11 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 12 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/cache" | ||
| 13 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_user" | ||
| 14 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/sms_serve" | ||
| 15 | -) | ||
| 16 | - | ||
| 17 | -// 组织管理 | ||
| 18 | -type AuthService struct { | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -//AuthLogin 用户登录 | ||
| 22 | -func (srv AuthService) AuthLogin(loginCommand *command.LoginCommand) (interface{}, error) { | ||
| 23 | - var ( | ||
| 24 | - result interface{} | ||
| 25 | - err error | ||
| 26 | - ) | ||
| 27 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 28 | - _, err = creationUserGateway.AuthRefreshIM(allied_creation_user.ReqAuthRefreshIM{ | ||
| 29 | - Phone: loginCommand.Phone, | ||
| 30 | - }) | ||
| 31 | - if err != nil { | ||
| 32 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 33 | - } | ||
| 34 | - switch loginCommand.GrantType { | ||
| 35 | - case "signInPassword": | ||
| 36 | - result, err = srv.SignInPassword(loginCommand.Phone, loginCommand.Password) | ||
| 37 | - case "signInCaptcha": | ||
| 38 | - result, err = srv.SignInCaptcha(loginCommand.Phone, loginCommand.Captcha) | ||
| 39 | - default: | ||
| 40 | - err = application.ThrowError(application.TRANSACTION_ERROR, "登录方式无法解析") | ||
| 41 | - } | ||
| 42 | - return result, err | ||
| 43 | -} | ||
| 44 | - | ||
| 45 | -//SignInPassword 使用账号密码校验 | ||
| 46 | -func (srv AuthService) SignInPassword(account string, password string) (interface{}, error) { | ||
| 47 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 48 | - _, err := creationUserGateway.AuthCheckPassword(allied_creation_user.ReqAuthCheckPassword{ | ||
| 49 | - Password: password, | ||
| 50 | - Phone: account, | ||
| 51 | - }) | ||
| 52 | - if err != nil { | ||
| 53 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 54 | - } | ||
| 55 | - ltoken := domain.LoginToken{ | ||
| 56 | - UserId: 0, | ||
| 57 | - Account: account, | ||
| 58 | - Platform: domain.LoginPlatformApp, | ||
| 59 | - CompanyId: 0, | ||
| 60 | - } | ||
| 61 | - authcode, err := ltoken.GenerateAuthCode() | ||
| 62 | - if err != nil { | ||
| 63 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 64 | - } | ||
| 65 | - result := map[string]string{ | ||
| 66 | - "authCode": authcode, | ||
| 67 | - } | ||
| 68 | - return result, nil | ||
| 69 | -} | ||
| 70 | - | ||
| 71 | -//SignInCaptcha 使用手机验证码登录 | ||
| 72 | -func (srv AuthService) SignInCaptcha(phone string, captcha string) (interface{}, error) { | ||
| 73 | - smsServeGateway := sms_serve.NewHttplibHttplibSmsServe() | ||
| 74 | - err := smsServeGateway.CheckSmsCode(phone, captcha) | ||
| 75 | - if err != nil { | ||
| 76 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 77 | - } | ||
| 78 | - ltoken := domain.LoginToken{ | ||
| 79 | - UserId: 0, | ||
| 80 | - Account: phone, | ||
| 81 | - Platform: domain.LoginPlatformApp, | ||
| 82 | - CompanyId: 0, | ||
| 83 | - } | ||
| 84 | - authcode, err := ltoken.GenerateAuthCode() | ||
| 85 | - if err != nil { | ||
| 86 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 87 | - } | ||
| 88 | - result := map[string]string{ | ||
| 89 | - "authCode": authcode, | ||
| 90 | - } | ||
| 91 | - return result, nil | ||
| 92 | -} | ||
| 93 | - | ||
| 94 | -//GetAuthAccessToken 获取令牌Token | ||
| 95 | -func (srv AuthService) GetAuthAccessToken(accessTokenCommand *command.AccessTokenCommand) (interface{}, error) { | ||
| 96 | - if err := accessTokenCommand.ValidateCommand(); err != nil { | ||
| 97 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 98 | - } | ||
| 99 | - ltoken := &domain.LoginToken{} | ||
| 100 | - err := ltoken.ParseToken(accessTokenCommand.AuthCode) | ||
| 101 | - if err != nil { | ||
| 102 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 103 | - } | ||
| 104 | - phone := ltoken.Account | ||
| 105 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 106 | - userSeachResult, err := creationUserGateway.UserSearch(allied_creation_user.ReqUserSearch{ | ||
| 107 | - CompanyId: ltoken.CompanyId, | ||
| 108 | - Phone: phone, | ||
| 109 | - }) | ||
| 110 | - if err != nil { | ||
| 111 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 112 | - } | ||
| 113 | - if len(userSeachResult.Users) == 0 { | ||
| 114 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, "获取用户信息失败") | ||
| 115 | - } | ||
| 116 | - transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 117 | - if err != nil { | ||
| 118 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 119 | - } | ||
| 120 | - if err := transactionContext.StartTransaction(); err != nil { | ||
| 121 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 122 | - } | ||
| 123 | - defer func() { | ||
| 124 | - transactionContext.RollbackTransaction() | ||
| 125 | - }() | ||
| 126 | - var loginAccessRepository domain.LoginAccessRepository | ||
| 127 | - if loginAccessRepository, err = factory.CreateLoginAccessRepository(map[string]interface{}{ | ||
| 128 | - "transactionContext": transactionContext, | ||
| 129 | - }); err != nil { | ||
| 130 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 131 | - } | ||
| 132 | - _, lAccess, err := loginAccessRepository.Find(map[string]interface{}{ | ||
| 133 | - "account": phone, | ||
| 134 | - "platform": domain.LoginPlatformApp, | ||
| 135 | - }) | ||
| 136 | - if err != nil { | ||
| 137 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 138 | - } | ||
| 139 | - var currentAccess *domain.LoginAccess | ||
| 140 | - if len(lAccess) > 0 { | ||
| 141 | - currentAccess = lAccess[0] | ||
| 142 | - currentAccess.UpdatedTime = time.Now() | ||
| 143 | - } else { | ||
| 144 | - currentAccess = &domain.LoginAccess{ | ||
| 145 | - UserBaseId: int64(userSeachResult.Users[0].UserBaseId), | ||
| 146 | - UserId: int64(userSeachResult.Users[0].UserId), | ||
| 147 | - Account: userSeachResult.Users[0].UserInfo.Phone, | ||
| 148 | - Platform: domain.LoginPlatformApp, | ||
| 149 | - OrganizationId: int64(userSeachResult.Users[0].Org.OrgId), | ||
| 150 | - AccessToken: "", | ||
| 151 | - RefreshToken: "", | ||
| 152 | - AccessExpired: 0, | ||
| 153 | - RefreshExpired: 0, | ||
| 154 | - CreatedTime: time.Now(), | ||
| 155 | - UpdatedTime: time.Now(), | ||
| 156 | - } | ||
| 157 | - if userSeachResult.Users[0].Company != nil { | ||
| 158 | - currentAccess.CompanyId = int64(userSeachResult.Users[0].Company.CompanyId) | ||
| 159 | - } | ||
| 160 | - } | ||
| 161 | - //判定当前凭证的companyId,OrganizationId 是否在用户列表中 | ||
| 162 | - var currentOrgIsOK bool | ||
| 163 | -loopUser1: | ||
| 164 | - for _, v := range userSeachResult.Users { | ||
| 165 | - if v.Company.CompanyId == int(currentAccess.CompanyId) { | ||
| 166 | - for _, vv := range v.UserOrg { | ||
| 167 | - if vv.OrgID == int(currentAccess.OrganizationId) { | ||
| 168 | - currentOrgIsOK = true | ||
| 169 | - currentAccess.UserId = int64(v.UserId) | ||
| 170 | - currentAccess.UserBaseId = int64(v.UserBaseId) | ||
| 171 | - break loopUser1 | ||
| 172 | - } | ||
| 173 | - } | ||
| 174 | - } | ||
| 175 | - } | ||
| 176 | - //记录上一次的登录公司组织信息不可用 ,重置登录记录 | ||
| 177 | - //使用找到的第一个可用的公司组织 | ||
| 178 | - if !currentOrgIsOK { | ||
| 179 | - loopUser2: | ||
| 180 | - for _, v := range userSeachResult.Users { | ||
| 181 | - currentAccess.CompanyId = int64(v.Company.CompanyId) | ||
| 182 | - for _, vv := range v.UserOrg { | ||
| 183 | - currentAccess.UserId = int64(v.UserId) | ||
| 184 | - currentAccess.UserBaseId = int64(v.UserBaseId) | ||
| 185 | - currentAccess.OrganizationId = int64(vv.OrgID) | ||
| 186 | - currentOrgIsOK = true | ||
| 187 | - break loopUser2 | ||
| 188 | - } | ||
| 189 | - } | ||
| 190 | - } | ||
| 191 | - | ||
| 192 | - loginToken := domain.LoginToken{ | ||
| 193 | - UserId: currentAccess.UserId, | ||
| 194 | - Account: currentAccess.Account, | ||
| 195 | - UserBaseId: currentAccess.UserBaseId, | ||
| 196 | - CompanyId: currentAccess.CompanyId, | ||
| 197 | - OrgId: currentAccess.OrganizationId, | ||
| 198 | - Platform: currentAccess.Platform, | ||
| 199 | - } | ||
| 200 | - | ||
| 201 | - accessTokenStr, err := loginToken.GenerateAccessToken() | ||
| 202 | - if err != nil { | ||
| 203 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 204 | - } | ||
| 205 | - currentAccess.AccessToken = accessTokenStr | ||
| 206 | - currentAccess.AccessExpired = loginToken.ExpiresAt | ||
| 207 | - refreshTokenStr, err := loginToken.GenerateRefreshToken() | ||
| 208 | - if err != nil { | ||
| 209 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 210 | - } | ||
| 211 | - currentAccess.RefreshToken = refreshTokenStr | ||
| 212 | - currentAccess.AccessExpired = loginToken.ExpiresAt | ||
| 213 | - //先存数据库 | ||
| 214 | - _, err = loginAccessRepository.Save(currentAccess) | ||
| 215 | - if err != nil { | ||
| 216 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 217 | - } | ||
| 218 | - if err := transactionContext.CommitTransaction(); err != nil { | ||
| 219 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 220 | - } | ||
| 221 | - //后处理redis缓存 | ||
| 222 | - tokenCache := cache.LoginTokenCache{} | ||
| 223 | - tokenCache.RemoveAccessToken(currentAccess.Account, domain.LoginPlatformApp) | ||
| 224 | - tokenCache.RemoveRefreshToken(currentAccess.Account, domain.LoginPlatformApp) | ||
| 225 | - tokenCache.SaveAccessToken(currentAccess) | ||
| 226 | - tokenCache.SaveRefreshToken(currentAccess) | ||
| 227 | - nowTime := time.Now().Unix() | ||
| 228 | - return map[string]interface{}{ | ||
| 229 | - "refreshToken": accessTokenStr, | ||
| 230 | - "accessToken": refreshTokenStr, | ||
| 231 | - "expiresIn": currentAccess.AccessExpired - nowTime, | ||
| 232 | - }, nil | ||
| 233 | -} | ||
| 234 | - | ||
| 235 | -func (srv AuthService) RefreshAuthAccessToken(refreshTokenCommand *command.RefreshTokenCommand) (interface{}, error) { | ||
| 236 | - if err := refreshTokenCommand.ValidateCommand(); err != nil { | ||
| 237 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 238 | - } | ||
| 239 | - ltoken := domain.LoginToken{} | ||
| 240 | - err := ltoken.ParseToken(refreshTokenCommand.RefreshToken) | ||
| 241 | - if err != nil { | ||
| 242 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, "refreshToken 不可用,"+err.Error()) | ||
| 243 | - } | ||
| 244 | - token, err := srv.getToken(domain.Operator{}, ltoken) | ||
| 245 | - // phone := ltoken.Account | ||
| 246 | - // creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 247 | - // userSearchResult, err := creationUserGateway.UserSearch(allied_creation_user.ReqUserSearch{ | ||
| 248 | - // Phone: phone, | ||
| 249 | - // }) | ||
| 250 | - // if err != nil { | ||
| 251 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, "用户信息获取失败,"+err.Error()) | ||
| 252 | - // } | ||
| 253 | - // //判定当前凭证的companyId,OrganizationId 是否在用户列表中 | ||
| 254 | - // var currentOrgIsOK bool | ||
| 255 | - //loopUser1: | ||
| 256 | - // for _, v := range userSearchResult.Users { | ||
| 257 | - // if v.Company.CompanyId == int(ltoken.CompanyId) { | ||
| 258 | - // for _, vv := range v.UserOrg { | ||
| 259 | - // if vv.OrgID == int(ltoken.OrgId) { | ||
| 260 | - // currentOrgIsOK = true | ||
| 261 | - // break loopUser1 | ||
| 262 | - // } | ||
| 263 | - // } | ||
| 264 | - // } | ||
| 265 | - // } | ||
| 266 | - // if !currentOrgIsOK { | ||
| 267 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, "登录的公司组织不可用") | ||
| 268 | - // } | ||
| 269 | - // | ||
| 270 | - // transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 271 | - // if err != nil { | ||
| 272 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 273 | - // } | ||
| 274 | - // if err := transactionContext.StartTransaction(); err != nil { | ||
| 275 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 276 | - // } | ||
| 277 | - // defer func() { | ||
| 278 | - // transactionContext.RollbackTransaction() | ||
| 279 | - // }() | ||
| 280 | - // var loginAccessRepository domain.LoginAccessRepository | ||
| 281 | - // if loginAccessRepository, err = factory.CreateLoginAccessRepository(map[string]interface{}{ | ||
| 282 | - // "transactionContext": transactionContext, | ||
| 283 | - // }); err != nil { | ||
| 284 | - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 285 | - // } | ||
| 286 | - // _, lAccess, err := loginAccessRepository.Find(map[string]interface{}{ | ||
| 287 | - // "account": phone, | ||
| 288 | - // "platform": domain.LoginPlatformApp, | ||
| 289 | - // }) | ||
| 290 | - // if err != nil { | ||
| 291 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 292 | - // } | ||
| 293 | - // var currentAccess *domain.LoginAccess | ||
| 294 | - // if len(lAccess) > 0 { | ||
| 295 | - // currentAccess = lAccess[0] | ||
| 296 | - // currentAccess.UpdatedTime = time.Now() | ||
| 297 | - // } else { | ||
| 298 | - // currentAccess = &domain.LoginAccess{ | ||
| 299 | - // UserBaseId: ltoken.UserBaseId, | ||
| 300 | - // UserId: ltoken.UserId, | ||
| 301 | - // Account: ltoken.Account, | ||
| 302 | - // Platform: domain.LoginPlatformApp, | ||
| 303 | - // CompanyId: ltoken.CompanyId, | ||
| 304 | - // OrganizationId: ltoken.OrgId, | ||
| 305 | - // AccessToken: "", | ||
| 306 | - // RefreshToken: "", | ||
| 307 | - // AccessExpired: 0, | ||
| 308 | - // RefreshExpired: 0, | ||
| 309 | - // CreatedTime: time.Now(), | ||
| 310 | - // UpdatedTime: time.Now(), | ||
| 311 | - // } | ||
| 312 | - // } | ||
| 313 | - // accessTokenStr, err := ltoken.GenerateAccessToken() | ||
| 314 | - // if err != nil { | ||
| 315 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 316 | - // } | ||
| 317 | - // currentAccess.AccessToken = accessTokenStr | ||
| 318 | - // currentAccess.AccessExpired = ltoken.ExpiresAt | ||
| 319 | - // refreshTokenStr, err := ltoken.GenerateRefreshToken() | ||
| 320 | - // if err != nil { | ||
| 321 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 322 | - // } | ||
| 323 | - // currentAccess.RefreshToken = refreshTokenStr | ||
| 324 | - // currentAccess.RefreshExpired = ltoken.ExpiresAt | ||
| 325 | - // //先存数据库 | ||
| 326 | - // _, err = loginAccessRepository.Save(currentAccess) | ||
| 327 | - // if err != nil { | ||
| 328 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 329 | - // } | ||
| 330 | - // if err := transactionContext.CommitTransaction(); err != nil { | ||
| 331 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 332 | - // } | ||
| 333 | - // //后处理redis缓存 | ||
| 334 | - // tokenCache := cache.LoginTokenCache{} | ||
| 335 | - // tokenCache.RemoveAccessToken(currentAccess.Account, domain.LoginPlatformApp) | ||
| 336 | - // tokenCache.RemoveRefreshToken(currentAccess.Account, domain.LoginPlatformApp) | ||
| 337 | - // tokenCache.SaveAccessToken(currentAccess) | ||
| 338 | - // tokenCache.SaveRefreshToken(currentAccess) | ||
| 339 | - // nowTime := time.Now().Unix() | ||
| 340 | - // return map[string]interface{}{ | ||
| 341 | - // "refreshToken": accessTokenStr, | ||
| 342 | - // "accessToken": refreshTokenStr, | ||
| 343 | - // "expiresIn": currentAccess.AccessExpired - nowTime, | ||
| 344 | - // }, nil | ||
| 345 | - return token["token"], err | ||
| 346 | -} | ||
| 347 | - | ||
| 348 | -//GetUserMenus 获取用户信息 | ||
| 349 | -func (srv AuthService) GetUserInfo(userInfoCommand *command.UserInfoCommand) (interface{}, error) { | ||
| 350 | - user, err := srv.getUserInfo(userInfoCommand.Operator) | ||
| 351 | - if err != nil { | ||
| 352 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 353 | - } | ||
| 354 | - return map[string]interface{}{ | ||
| 355 | - "user": user, | ||
| 356 | - }, nil | ||
| 357 | -} | ||
| 358 | - | ||
| 359 | -//GetUserMenus 获取用户菜单 | ||
| 360 | -func (srv AuthService) GetUserMenus(userMenusCommand *command.UserMenusCommand) (interface{}, error) { | ||
| 361 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser( | ||
| 362 | - userMenusCommand.Operator) | ||
| 363 | - resultMenu, err := creationUserGateway.UserAccessMenus(allied_creation_user.ReqUserAccessMenus{ | ||
| 364 | - UserId: int(userMenusCommand.Operator.UserId), | ||
| 365 | - }) | ||
| 366 | - if err != nil { | ||
| 367 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 368 | - } | ||
| 369 | - return map[string]interface{}{ | ||
| 370 | - "accessMenus": resultMenu.Menus, | ||
| 371 | - }, nil | ||
| 372 | -} | ||
| 373 | - | ||
| 374 | -//GetUserMenus 获取用户组织 | ||
| 375 | -func (srv AuthService) GetUserOrg(userOrgCommand *command.UserOrgCommand) (interface{}, error) { | ||
| 376 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(userOrgCommand.Operator) | ||
| 377 | - result, err := creationUserGateway.UserSearch(allied_creation_user.ReqUserSearch{ | ||
| 378 | - Offset: 0, | ||
| 379 | - Limit: 100, | ||
| 380 | - UserBaseId: userOrgCommand.Operator.UserBaseId, | ||
| 381 | - UserType: domain.UserTypeEmployee, | ||
| 382 | - EnableStatus: domain.UserStatusEnable, | ||
| 383 | - PullRealTime: true, | ||
| 384 | - }) | ||
| 385 | - if err != nil { | ||
| 386 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 387 | - } | ||
| 388 | - var res = make([]interface{}, 0) | ||
| 389 | - for i := range result.Users { | ||
| 390 | - for j := range result.Users[i].UserOrg { | ||
| 391 | - org := result.Users[i].UserOrg[j] | ||
| 392 | - res = append(res, map[string]interface{}{ | ||
| 393 | - "orgId": org.OrgID, | ||
| 394 | - "orgName": org.OrgName, | ||
| 395 | - }) | ||
| 396 | - } | ||
| 397 | - } | ||
| 398 | - return map[string]interface{}{ | ||
| 399 | - "orgs": res, | ||
| 400 | - }, nil | ||
| 401 | -} | ||
| 402 | - | ||
| 403 | -//OrgSwitch 组织切换 | ||
| 404 | -func (srv AuthService) OrgSwitch(switchOrgCommand *command.SwitchOrgCommand) (interface{}, error) { | ||
| 405 | - if err := switchOrgCommand.ValidateCommand(); err != nil { | ||
| 406 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 407 | - } | ||
| 408 | - ltoken := domain.LoginToken{} | ||
| 409 | - err := ltoken.ParseToken(switchOrgCommand.Operator.Token) | ||
| 410 | - if err != nil { | ||
| 411 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, "accessToken 不可用,"+err.Error()) | ||
| 412 | - } | ||
| 413 | - ltoken.OrgId = switchOrgCommand.OrgId | ||
| 414 | - token, err := srv.getToken(domain.Operator{}, ltoken) | ||
| 415 | - if err != nil { | ||
| 416 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 417 | - } | ||
| 418 | - var userId int64 | ||
| 419 | - if v, ok := token["userId"]; ok { | ||
| 420 | - if userId, ok = v.(int64); !ok { | ||
| 421 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, "用户不存在") | ||
| 422 | - } | ||
| 423 | - } | ||
| 424 | - user, err := srv.getUserInfo(domain.Operator{UserId: userId}) | ||
| 425 | - if err != nil { | ||
| 426 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 427 | - } | ||
| 428 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser( | ||
| 429 | - switchOrgCommand.Operator) | ||
| 430 | - resultMenu, err := creationUserGateway.UserAccessMenus(allied_creation_user.ReqUserAccessMenus{ | ||
| 431 | - UserId: int(userId), | ||
| 432 | - }) | ||
| 433 | - if err != nil { | ||
| 434 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 435 | - } | ||
| 436 | - var res = map[string]interface{}{ | ||
| 437 | - "user": user, | ||
| 438 | - "accessMenus": resultMenu.Menus, | ||
| 439 | - "token": token["token"], | ||
| 440 | - } | ||
| 441 | - return res, nil | ||
| 442 | -} | ||
| 443 | - | ||
| 444 | -// CompanySignUp 企业注册 | ||
| 445 | -func (srv AuthService) CompanySignUp(companySignUpCommand *command.CompanySignUpCommand) (interface{}, error) { | ||
| 446 | - //TODO:验证码验证测试去掉,后期恢复回来 | ||
| 447 | - //smsServeGateway := sms_serve.NewHttplibHttplibSmsServe() | ||
| 448 | - //err := smsServeGateway.CheckSmsCode(companySignUpCommand.Phone, companySignUpCommand.SmsCode) | ||
| 449 | - //if err != nil { | ||
| 450 | - // return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 451 | - //} | ||
| 452 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 453 | - _, err := creationUserGateway.AuthCompanySignUp(allied_creation_user.ReqAuthCompanySignUp{ | ||
| 454 | - CompanyName: companySignUpCommand.CompanyName, | ||
| 455 | - Phone: companySignUpCommand.Phone, | ||
| 456 | - Password: companySignUpCommand.Password, | ||
| 457 | - Contacts: companySignUpCommand.Contacts, | ||
| 458 | - IndustryCategory: companySignUpCommand.IndustryCategory, | ||
| 459 | - Scale: companySignUpCommand.Scale, | ||
| 460 | - }) | ||
| 461 | - if err != nil { | ||
| 462 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 463 | - } | ||
| 464 | - return companySignUpCommand, err | ||
| 465 | -} | ||
| 466 | - | ||
| 467 | -// ResetPassword 重置密码(找回密码) | ||
| 468 | -func (srv AuthService) ResetPassword(resetPasswordCommand *command.ResetPasswordCommand) (interface{}, error) { | ||
| 469 | - if err := resetPasswordCommand.ValidateCommand(); err != nil { | ||
| 470 | - return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 471 | - } | ||
| 472 | - //var phone string | ||
| 473 | - pcc := cache.PhoneCheckCache{} | ||
| 474 | - var item = &cache.PhoneCheckItem{} | ||
| 475 | - if err := pcc.Get(resetPasswordCommand.SmsCodeIdentity, item); err != nil { | ||
| 476 | - log.Logger.Error(err.Error()) | ||
| 477 | - return nil, application.ThrowError(application.BUSINESS_ERROR, "验证码已失效") | ||
| 478 | - } | ||
| 479 | - // 2.重置密码 | ||
| 480 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 481 | - result, err := creationUserGateway.AuthResetPassword(allied_creation_user.ReqAuthResetPassword{ | ||
| 482 | - Phone: item.Phone, | ||
| 483 | - Password: resetPasswordCommand.Password, | ||
| 484 | - }) | ||
| 485 | - if err != nil { | ||
| 486 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 487 | - } | ||
| 488 | - return result, err | ||
| 489 | -} | ||
| 490 | - | ||
| 491 | -func (srv AuthService) getUserInfo(operator domain.Operator) (interface{}, error) { | ||
| 492 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser( | ||
| 493 | - operator) | ||
| 494 | - resultUser, err := creationUserGateway.UserGet(allied_creation_user.ReqGetUser{ | ||
| 495 | - UserId: int(operator.UserId), | ||
| 496 | - }) | ||
| 497 | - if err != nil { | ||
| 498 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 499 | - } | ||
| 500 | - var user = map[string]interface{}{ | ||
| 501 | - "userId": resultUser.UserId, | ||
| 502 | - "userInfo": map[string]interface{}{ | ||
| 503 | - "userName": resultUser.UserInfo.UserName, | ||
| 504 | - "userPhone": resultUser.UserInfo.Phone, | ||
| 505 | - "userAvatar": resultUser.UserInfo.Avatar, | ||
| 506 | - //"userCode": resultUser.UserInfo.UserCode, | ||
| 507 | - "email": resultUser.UserInfo.Email, | ||
| 508 | - }, | ||
| 509 | - "department": resultUser.Department, | ||
| 510 | - "company": map[string]interface{}{ | ||
| 511 | - "companyId": resultUser.Company.CompanyId, | ||
| 512 | - "companyName": resultUser.Company.CompanyName, | ||
| 513 | - "logo": resultUser.Company.Log, | ||
| 514 | - }, | ||
| 515 | - "im": resultUser.IM, | ||
| 516 | - "org": resultUser.Org, | ||
| 517 | - } | ||
| 518 | - return user, nil | ||
| 519 | -} | ||
| 520 | - | ||
| 521 | -func (srv AuthService) getToken(operator domain.Operator, ltoken domain.LoginToken) (map[string]interface{}, error) { | ||
| 522 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 523 | - userSearchResult, err := creationUserGateway.UserSearch(allied_creation_user.ReqUserSearch{ | ||
| 524 | - Phone: ltoken.Account, | ||
| 525 | - }) | ||
| 526 | - if err != nil { | ||
| 527 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, "用户信息获取失败,"+err.Error()) | ||
| 528 | - } | ||
| 529 | - //判定当前凭证的companyId,OrganizationId 是否在用户列表中 | ||
| 530 | - var currentOrgIsOK bool | ||
| 531 | - var currentUserId int64 | ||
| 532 | -loopUser1: | ||
| 533 | - for _, v := range userSearchResult.Users { | ||
| 534 | - //if v.Company.CompanyId == int(ltoken.CompanyId) { | ||
| 535 | - for _, vv := range v.UserOrg { | ||
| 536 | - if vv.OrgID == int(ltoken.OrgId) { | ||
| 537 | - currentOrgIsOK = true | ||
| 538 | - currentUserId = int64(v.UserId) | ||
| 539 | - break loopUser1 | ||
| 540 | - } | ||
| 541 | - } | ||
| 542 | - //} | ||
| 543 | - } | ||
| 544 | - if !currentOrgIsOK { | ||
| 545 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, "登录的公司组织不可用") | ||
| 546 | - } | ||
| 547 | - | ||
| 548 | - transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 549 | - if err != nil { | ||
| 550 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 551 | - } | ||
| 552 | - if err := transactionContext.StartTransaction(); err != nil { | ||
| 553 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 554 | - } | ||
| 555 | - defer func() { | ||
| 556 | - transactionContext.RollbackTransaction() | ||
| 557 | - }() | ||
| 558 | - var loginAccessRepository domain.LoginAccessRepository | ||
| 559 | - if loginAccessRepository, err = factory.CreateLoginAccessRepository(map[string]interface{}{ | ||
| 560 | - "transactionContext": transactionContext, | ||
| 561 | - }); err != nil { | ||
| 562 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 563 | - } | ||
| 564 | - _, lAccess, err := loginAccessRepository.Find(map[string]interface{}{ | ||
| 565 | - "account": ltoken.Account, | ||
| 566 | - "platform": domain.LoginPlatformApp, | ||
| 567 | - }) | ||
| 568 | - if err != nil { | ||
| 569 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 570 | - } | ||
| 571 | - var currentAccess *domain.LoginAccess | ||
| 572 | - if len(lAccess) > 0 { | ||
| 573 | - currentAccess = lAccess[0] | ||
| 574 | - currentAccess.UpdatedTime = time.Now() | ||
| 575 | - } else { | ||
| 576 | - currentAccess = &domain.LoginAccess{ | ||
| 577 | - UserBaseId: ltoken.UserBaseId, | ||
| 578 | - UserId: ltoken.UserId, | ||
| 579 | - Account: ltoken.Account, | ||
| 580 | - Platform: domain.LoginPlatformApp, | ||
| 581 | - CompanyId: ltoken.CompanyId, | ||
| 582 | - OrganizationId: ltoken.OrgId, | ||
| 583 | - AccessToken: "", | ||
| 584 | - RefreshToken: "", | ||
| 585 | - AccessExpired: 0, | ||
| 586 | - RefreshExpired: 0, | ||
| 587 | - CreatedTime: time.Now(), | ||
| 588 | - UpdatedTime: time.Now(), | ||
| 589 | - } | ||
| 590 | - } | ||
| 591 | - accessTokenStr, err := ltoken.GenerateAccessToken() | ||
| 592 | - if err != nil { | ||
| 593 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 594 | - } | ||
| 595 | - currentAccess.AccessToken = accessTokenStr | ||
| 596 | - currentAccess.AccessExpired = ltoken.ExpiresAt | ||
| 597 | - refreshTokenStr, err := ltoken.GenerateRefreshToken() | ||
| 598 | - if err != nil { | ||
| 599 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 600 | - } | ||
| 601 | - currentAccess.RefreshToken = refreshTokenStr | ||
| 602 | - currentAccess.RefreshExpired = ltoken.ExpiresAt | ||
| 603 | - //先存数据库 | ||
| 604 | - _, err = loginAccessRepository.Save(currentAccess) | ||
| 605 | - if err != nil { | ||
| 606 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 607 | - } | ||
| 608 | - if err := transactionContext.CommitTransaction(); err != nil { | ||
| 609 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 610 | - } | ||
| 611 | - //后处理redis缓存 | ||
| 612 | - tokenCache := cache.LoginTokenCache{} | ||
| 613 | - tokenCache.RemoveAccessToken(currentAccess.Account, domain.LoginPlatformApp) | ||
| 614 | - tokenCache.RemoveRefreshToken(currentAccess.Account, domain.LoginPlatformApp) | ||
| 615 | - tokenCache.SaveAccessToken(currentAccess) | ||
| 616 | - tokenCache.SaveRefreshToken(currentAccess) | ||
| 617 | - nowTime := time.Now().Unix() | ||
| 618 | - token := map[string]interface{}{ | ||
| 619 | - "refreshToken": accessTokenStr, | ||
| 620 | - "accessToken": refreshTokenStr, | ||
| 621 | - "expiresIn": currentAccess.AccessExpired - nowTime, | ||
| 622 | - } | ||
| 623 | - return map[string]interface{}{ | ||
| 624 | - "token": token, | ||
| 625 | - "userId": currentUserId, | ||
| 626 | - }, nil | ||
| 627 | -} |
| 1 | -package command | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - | ||
| 6 | - "github.com/beego/beego/v2/core/validation" | ||
| 7 | -) | ||
| 8 | - | ||
| 9 | -type LoginCommand struct { | ||
| 10 | - Phone string `json:"phone" valid:"Required"` | ||
| 11 | - GrantType string `json:"grantType" valid:"Required"` //登录方式(signInPassword 密码登录、signInCaptcha 验证码登录) | ||
| 12 | - Password string `json:"password"` | ||
| 13 | - Captcha string `json:"captcha"` | ||
| 14 | -} | ||
| 15 | - | ||
| 16 | -func (orgAddCommand *LoginCommand) Valid(validation *validation.Validation) { | ||
| 17 | - | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (orgAddCommand *LoginCommand) ValidateCommand() error { | ||
| 21 | - valid := validation.Validation{} | ||
| 22 | - b, err := valid.Valid(orgAddCommand) | ||
| 23 | - if err != nil { | ||
| 24 | - return err | ||
| 25 | - } | ||
| 26 | - if !b { | ||
| 27 | - for _, validErr := range valid.Errors { | ||
| 28 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 29 | - } | ||
| 30 | - } | ||
| 31 | - return nil | ||
| 32 | -} |
| 1 | -package query | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "fmt" | ||
| 5 | - | ||
| 6 | - "github.com/beego/beego/v2/core/validation" | ||
| 7 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 8 | -) | ||
| 9 | - | ||
| 10 | -type GetCompanyOrgsByUserQuery struct { | ||
| 11 | - //操作人 | ||
| 12 | - Operator domain.Operator `json:"-"` | ||
| 13 | - Phone string `json:"phone" valid:"Required"` //手机号 | ||
| 14 | -} | ||
| 15 | - | ||
| 16 | -func (orgAddCommand *GetCompanyOrgsByUserQuery) Valid(validation *validation.Validation) { | ||
| 17 | - | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -func (orgAddCommand *GetCompanyOrgsByUserQuery) ValidateCommand() error { | ||
| 21 | - valid := validation.Validation{} | ||
| 22 | - b, err := valid.Valid(orgAddCommand) | ||
| 23 | - if err != nil { | ||
| 24 | - return err | ||
| 25 | - } | ||
| 26 | - if !b { | ||
| 27 | - for _, validErr := range valid.Errors { | ||
| 28 | - return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
| 29 | - } | ||
| 30 | - } | ||
| 31 | - return nil | ||
| 32 | -} |
| 1 | -package service | ||
| 2 | - | ||
| 3 | -import ( | ||
| 4 | - "errors" | ||
| 5 | - | ||
| 6 | - "github.com/linmadan/egglib-go/core/application" | ||
| 7 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/auth/command" | ||
| 8 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/auth/dto" | ||
| 9 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/auth/query" | ||
| 10 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain" | ||
| 11 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/cache" | ||
| 12 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_user" | ||
| 13 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/sms_serve" | ||
| 14 | -) | ||
| 15 | - | ||
| 16 | -type AuthService struct{} | ||
| 17 | - | ||
| 18 | -//AuthLogin 用户登录 | ||
| 19 | -func (srv AuthService) AuthLogin(loginCommand *command.LoginCommand) (interface{}, error) { | ||
| 20 | - var ( | ||
| 21 | - result interface{} | ||
| 22 | - err error | ||
| 23 | - ) | ||
| 24 | - switch loginCommand.GrantType { | ||
| 25 | - case "signInPassword": | ||
| 26 | - //账号密码登录 | ||
| 27 | - result, err = srv.SignInPassword(loginCommand.Phone, loginCommand.Password) | ||
| 28 | - case "signInCaptcha": | ||
| 29 | - //手机验证码登录 | ||
| 30 | - result, err = srv.SignInCaptcha(loginCommand.Phone, loginCommand.Captcha) | ||
| 31 | - default: | ||
| 32 | - err = errors.New("登录方式无法解析") | ||
| 33 | - } | ||
| 34 | - return result, err | ||
| 35 | -} | ||
| 36 | - | ||
| 37 | -//SignInPassword 使用账号密码校验 | ||
| 38 | -func (srv AuthService) SignInPassword(account string, password string) (interface{}, error) { | ||
| 39 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(domain.Operator{}) | ||
| 40 | - _, err := creationUserGateway.AuthCheckPassword(allied_creation_user.ReqAuthCheckPassword{ | ||
| 41 | - Password: password, | ||
| 42 | - Phone: account, | ||
| 43 | - }) | ||
| 44 | - if err != nil { | ||
| 45 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 46 | - } | ||
| 47 | - ltoken := domain.LoginToken{ | ||
| 48 | - UserId: 0, | ||
| 49 | - Account: account, | ||
| 50 | - Platform: domain.LoginPlatformApp, | ||
| 51 | - CompanyId: 0, | ||
| 52 | - } | ||
| 53 | - authcode, err := ltoken.GenerateAuthCode() | ||
| 54 | - if err != nil { | ||
| 55 | - return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 56 | - } | ||
| 57 | - result := map[string]string{ | ||
| 58 | - "authCode": authcode, | ||
| 59 | - } | ||
| 60 | - return result, nil | ||
| 61 | -} | ||
| 62 | - | ||
| 63 | -//SignInCaptcha 使用手机验证码登录 | ||
| 64 | -func (srv AuthService) SignInCaptcha(phone string, captcha string) (interface{}, error) { | ||
| 65 | - smsServeGateway := sms_serve.NewHttplibHttplibSmsServe() | ||
| 66 | - err := smsServeGateway.CheckSmsCode(phone, captcha) | ||
| 67 | - if err != nil { | ||
| 68 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 69 | - } | ||
| 70 | - ltoken := domain.LoginToken{ | ||
| 71 | - UserId: 0, | ||
| 72 | - Account: phone, | ||
| 73 | - Platform: domain.LoginPlatformApp, | ||
| 74 | - CompanyId: 0, | ||
| 75 | - } | ||
| 76 | - authcode, err := ltoken.GenerateAuthCode() | ||
| 77 | - if err != nil { | ||
| 78 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 79 | - } | ||
| 80 | - result := map[string]string{ | ||
| 81 | - "authCode": authcode, | ||
| 82 | - } | ||
| 83 | - return result, nil | ||
| 84 | -} | ||
| 85 | - | ||
| 86 | -//GetCompanyOrgsByUser 获取登录用户的公司组织列表 | ||
| 87 | -func (srv AuthService) GetCompanyOrgsByUser(queryParam query.GetCompanyOrgsByUserQuery) (interface{}, error) { | ||
| 88 | - | ||
| 89 | - creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(queryParam.Operator) | ||
| 90 | - result, err := creationUserGateway.UserSearch(allied_creation_user.ReqUserSearch{ | ||
| 91 | - Phone: queryParam.Phone, | ||
| 92 | - }) | ||
| 93 | - if err != nil { | ||
| 94 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 95 | - } | ||
| 96 | - var ( | ||
| 97 | - companys []dto.CompanyItem | ||
| 98 | - orgs []dto.OrgItem | ||
| 99 | - ) | ||
| 100 | - | ||
| 101 | - for _, v := range result.Users { | ||
| 102 | - companys = append(companys, dto.CompanyItem{ | ||
| 103 | - CompanyId: v.Company.CompanyId, | ||
| 104 | - CompanyName: v.Company.CompanyName, | ||
| 105 | - }) | ||
| 106 | - for _, vv := range v.UserOrg { | ||
| 107 | - orgs = append(orgs, dto.OrgItem{ | ||
| 108 | - OrganizationId: vv.OrgID, | ||
| 109 | - OrganizationName: vv.OrgName, | ||
| 110 | - CompanyId: v.Company.CompanyId, | ||
| 111 | - }) | ||
| 112 | - } | ||
| 113 | - } | ||
| 114 | - | ||
| 115 | - data := map[string]interface{}{ | ||
| 116 | - "companys": companys, | ||
| 117 | - "organizations": orgs, | ||
| 118 | - } | ||
| 119 | - return data, nil | ||
| 120 | -} | ||
| 121 | - | ||
| 122 | -//GetQrcode 获取扫码登录需要的二维码 | ||
| 123 | -func (srv AuthService) GetQrcode() (interface{}, error) { | ||
| 124 | - qrmsg := domain.QrcodeMessage{} | ||
| 125 | - imgBase64, err := qrmsg.GenerateImageBase64() | ||
| 126 | - if err != nil { | ||
| 127 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 128 | - } | ||
| 129 | - qrCache := cache.LoginQrcodeCache{} | ||
| 130 | - err = qrCache.Save(qrmsg) | ||
| 131 | - if err != nil { | ||
| 132 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 133 | - } | ||
| 134 | - data := map[string]interface{}{ | ||
| 135 | - "image": imgBase64, | ||
| 136 | - "token": qrmsg.Token, | ||
| 137 | - } | ||
| 138 | - return data, nil | ||
| 139 | -} | ||
| 140 | - | ||
| 141 | -//QrcodeLoginStatus 询问扫码登录状态 | ||
| 142 | -func (srv AuthService) QrcodeLoginStatus(queryParam query.QrcodeLoginStatusQuery) (interface{}, error) { | ||
| 143 | - qrmsg := domain.QrcodeMessage{} | ||
| 144 | - err := qrmsg.ParseToken(queryParam.Token) | ||
| 145 | - if err != nil { | ||
| 146 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 147 | - } | ||
| 148 | - qrCache := cache.LoginQrcodeCache{} | ||
| 149 | - qrmsgCache, err := qrCache.Get(qrmsg.Id) | ||
| 150 | - if err != nil { | ||
| 151 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 152 | - } | ||
| 153 | - loginToken := domain.LoginToken{ | ||
| 154 | - UserId: qrmsgCache.UserId, | ||
| 155 | - UserBaseId: qrmsgCache.UserBaseId, | ||
| 156 | - Account: qrmsgCache.Account, | ||
| 157 | - Platform: domain.LoginPlatformWeb, | ||
| 158 | - CompanyId: qrmsgCache.CompanyId, | ||
| 159 | - OrgId: qrmsgCache.OrgId, | ||
| 160 | - } | ||
| 161 | - accessToken, err := loginToken.GenerateAccessToken() | ||
| 162 | - if err != nil { | ||
| 163 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 164 | - } | ||
| 165 | - _ = accessToken | ||
| 166 | - //TODO 填充token数据 | ||
| 167 | - data := map[string]interface{}{ | ||
| 168 | - "isLogin": qrmsgCache.IsLogin, | ||
| 169 | - "accessToken": "", | ||
| 170 | - } | ||
| 171 | - return data, nil | ||
| 172 | -} |
| 1 | package mobile_client | 1 | package mobile_client |
| 2 | 2 | ||
| 3 | -import ( | ||
| 4 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/auth/command" | ||
| 5 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/mobile/auth/service" | ||
| 6 | -) | ||
| 7 | - | ||
| 8 | type AuthController struct { | 3 | type AuthController struct { |
| 9 | baseController | 4 | baseController |
| 10 | } | 5 | } |
| 11 | 6 | ||
| 12 | -func (controller *AuthController) Login() { | ||
| 13 | - authService := service.AuthService{} | ||
| 14 | - loginCmd := &command.LoginCommand{} | ||
| 15 | - err := controller.Unmarshal(loginCmd) | ||
| 16 | - if err != nil { | ||
| 17 | - controller.Response(nil, err) | ||
| 18 | - return | ||
| 19 | - } | ||
| 20 | - data, err := authService.AuthLogin(loginCmd) | ||
| 21 | - controller.Response(data, err) | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -func (controller *AuthController) GetAuthAccessToken() { | ||
| 25 | - authService := service.AuthService{} | ||
| 26 | - accessTokenCommand := &command.AccessTokenCommand{} | ||
| 27 | - err := controller.Unmarshal(accessTokenCommand) | ||
| 28 | - if err != nil { | ||
| 29 | - controller.Response(nil, err) | ||
| 30 | - return | ||
| 31 | - } | ||
| 32 | - data, err := authService.GetAuthAccessToken(accessTokenCommand) | ||
| 33 | - controller.Response(data, err) | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -func (controller *AuthController) RefreshAuthAccessToken() { | ||
| 37 | - authService := service.AuthService{} | ||
| 38 | - refreshTokenCmd := &command.RefreshTokenCommand{} | ||
| 39 | - err := controller.Unmarshal(refreshTokenCmd) | ||
| 40 | - if err != nil { | ||
| 41 | - controller.Response(nil, err) | ||
| 42 | - return | ||
| 43 | - } | ||
| 44 | - data, err := authService.RefreshAuthAccessToken(refreshTokenCmd) | ||
| 45 | - controller.Response(data, err) | ||
| 46 | -} | ||
| 47 | - | ||
| 48 | -func (controller *AuthController) GetUserInfo() { | ||
| 49 | - authService := service.AuthService{} | ||
| 50 | - userInfoCommand := &command.UserInfoCommand{} | ||
| 51 | - err := controller.Unmarshal(userInfoCommand) | ||
| 52 | - if err != nil { | ||
| 53 | - controller.Response(nil, err) | ||
| 54 | - return | ||
| 55 | - } | ||
| 56 | - userInfoCommand.Operator = controller.GetOperator() | ||
| 57 | - data, err := authService.GetUserInfo(userInfoCommand) | ||
| 58 | - controller.Response(data, err) | ||
| 59 | -} | ||
| 60 | - | ||
| 61 | -func (controller *AuthController) GetUserMenus() { | ||
| 62 | - authService := service.AuthService{} | ||
| 63 | - userMenusCommand := &command.UserMenusCommand{} | ||
| 64 | - err := controller.Unmarshal(userMenusCommand) | ||
| 65 | - if err != nil { | ||
| 66 | - controller.Response(nil, err) | ||
| 67 | - return | ||
| 68 | - } | ||
| 69 | - userMenusCommand.Operator = controller.GetOperator() | ||
| 70 | - data, err := authService.GetUserMenus(userMenusCommand) | ||
| 71 | - controller.Response(data, err) | ||
| 72 | -} | ||
| 73 | - | ||
| 74 | -func (controller *AuthController) GetUserOrg() { | ||
| 75 | - authService := service.AuthService{} | ||
| 76 | - userOrgCommand := &command.UserOrgCommand{} | ||
| 77 | - err := controller.Unmarshal(userOrgCommand) | ||
| 78 | - if err != nil { | ||
| 79 | - controller.Response(nil, err) | ||
| 80 | - return | ||
| 81 | - } | ||
| 82 | - userOrgCommand.Operator = controller.GetOperator() | ||
| 83 | - data, err := authService.GetUserOrg(userOrgCommand) | ||
| 84 | - controller.Response(data, err) | ||
| 85 | -} | ||
| 86 | - | ||
| 87 | -func (controller *AuthController) CompanySignUp() { | ||
| 88 | - authService := service.AuthService{} | ||
| 89 | - userOrgCommand := &command.CompanySignUpCommand{} | ||
| 90 | - err := controller.Unmarshal(userOrgCommand) | ||
| 91 | - if err != nil { | ||
| 92 | - controller.Response(nil, err) | ||
| 93 | - return | ||
| 94 | - } | ||
| 95 | - //userOrgCommand.Operator = controller.GetOperator() | ||
| 96 | - data, err := authService.CompanySignUp(userOrgCommand) | ||
| 97 | - controller.Response(data, err) | ||
| 98 | -} | ||
| 99 | - | ||
| 100 | -func (controller *AuthController) ResetPassword() { | ||
| 101 | - authService := service.AuthService{} | ||
| 102 | - userOrgCommand := &command.ResetPasswordCommand{} | ||
| 103 | - err := controller.Unmarshal(userOrgCommand) | ||
| 104 | - if err != nil { | ||
| 105 | - controller.Response(nil, err) | ||
| 106 | - return | ||
| 107 | - } | ||
| 108 | - //userOrgCommand.Operator = controller.GetOperator() | ||
| 109 | - data, err := authService.ResetPassword(userOrgCommand) | ||
| 110 | - controller.Response(data, err) | ||
| 111 | -} | ||
| 112 | - | ||
| 113 | -func (controller *AuthController) OrgSwitch() { | ||
| 114 | - authService := service.AuthService{} | ||
| 115 | - cmd := &command.SwitchOrgCommand{} | ||
| 116 | - err := controller.Unmarshal(cmd) | ||
| 117 | - if err != nil { | ||
| 118 | - controller.Response(nil, err) | ||
| 119 | - return | ||
| 120 | - } | ||
| 121 | - cmd.Operator = controller.GetOperator() | ||
| 122 | - data, err := authService.OrgSwitch(cmd) | ||
| 123 | - controller.Response(data, err) | ||
| 124 | -} | 7 | +//func (controller *AuthController) Login() { |
| 8 | +// authService := service.AuthService{} | ||
| 9 | +// loginCmd := &command.LoginCommand{} | ||
| 10 | +// err := controller.Unmarshal(loginCmd) | ||
| 11 | +// if err != nil { | ||
| 12 | +// controller.Response(nil, err) | ||
| 13 | +// return | ||
| 14 | +// } | ||
| 15 | +// data, err := authService.AuthLogin(loginCmd) | ||
| 16 | +// controller.Response(data, err) | ||
| 17 | +//} | ||
| 18 | +// | ||
| 19 | +//func (controller *AuthController) GetAuthAccessToken() { | ||
| 20 | +// authService := service.AuthService{} | ||
| 21 | +// accessTokenCommand := &command.AccessTokenCommand{} | ||
| 22 | +// err := controller.Unmarshal(accessTokenCommand) | ||
| 23 | +// if err != nil { | ||
| 24 | +// controller.Response(nil, err) | ||
| 25 | +// return | ||
| 26 | +// } | ||
| 27 | +// data, err := authService.GetAuthAccessToken(accessTokenCommand) | ||
| 28 | +// controller.Response(data, err) | ||
| 29 | +//} | ||
| 30 | +// | ||
| 31 | +//func (controller *AuthController) RefreshAuthAccessToken() { | ||
| 32 | +// authService := service.AuthService{} | ||
| 33 | +// refreshTokenCmd := &command.RefreshTokenCommand{} | ||
| 34 | +// err := controller.Unmarshal(refreshTokenCmd) | ||
| 35 | +// if err != nil { | ||
| 36 | +// controller.Response(nil, err) | ||
| 37 | +// return | ||
| 38 | +// } | ||
| 39 | +// data, err := authService.RefreshAuthAccessToken(refreshTokenCmd) | ||
| 40 | +// controller.Response(data, err) | ||
| 41 | +//} | ||
| 42 | +// | ||
| 43 | +//func (controller *AuthController) GetUserInfo() { | ||
| 44 | +// authService := service.AuthService{} | ||
| 45 | +// userInfoCommand := &command.UserInfoCommand{} | ||
| 46 | +// err := controller.Unmarshal(userInfoCommand) | ||
| 47 | +// if err != nil { | ||
| 48 | +// controller.Response(nil, err) | ||
| 49 | +// return | ||
| 50 | +// } | ||
| 51 | +// userInfoCommand.Operator = controller.GetOperator() | ||
| 52 | +// data, err := authService.GetUserInfo(userInfoCommand) | ||
| 53 | +// controller.Response(data, err) | ||
| 54 | +//} | ||
| 55 | +// | ||
| 56 | +//func (controller *AuthController) GetUserMenus() { | ||
| 57 | +// authService := service.AuthService{} | ||
| 58 | +// userMenusCommand := &command.UserMenusCommand{} | ||
| 59 | +// err := controller.Unmarshal(userMenusCommand) | ||
| 60 | +// if err != nil { | ||
| 61 | +// controller.Response(nil, err) | ||
| 62 | +// return | ||
| 63 | +// } | ||
| 64 | +// userMenusCommand.Operator = controller.GetOperator() | ||
| 65 | +// data, err := authService.GetUserMenus(userMenusCommand) | ||
| 66 | +// controller.Response(data, err) | ||
| 67 | +//} | ||
| 68 | +// | ||
| 69 | +//func (controller *AuthController) GetUserOrg() { | ||
| 70 | +// authService := service.AuthService{} | ||
| 71 | +// userOrgCommand := &command.UserOrgCommand{} | ||
| 72 | +// err := controller.Unmarshal(userOrgCommand) | ||
| 73 | +// if err != nil { | ||
| 74 | +// controller.Response(nil, err) | ||
| 75 | +// return | ||
| 76 | +// } | ||
| 77 | +// userOrgCommand.Operator = controller.GetOperator() | ||
| 78 | +// data, err := authService.GetUserOrg(userOrgCommand) | ||
| 79 | +// controller.Response(data, err) | ||
| 80 | +//} | ||
| 81 | +// | ||
| 82 | +//func (controller *AuthController) CompanySignUp() { | ||
| 83 | +// authService := service.AuthService{} | ||
| 84 | +// userOrgCommand := &command.CompanySignUpCommand{} | ||
| 85 | +// err := controller.Unmarshal(userOrgCommand) | ||
| 86 | +// if err != nil { | ||
| 87 | +// controller.Response(nil, err) | ||
| 88 | +// return | ||
| 89 | +// } | ||
| 90 | +// //userOrgCommand.Operator = controller.GetOperator() | ||
| 91 | +// data, err := authService.CompanySignUp(userOrgCommand) | ||
| 92 | +// controller.Response(data, err) | ||
| 93 | +//} | ||
| 94 | +// | ||
| 95 | +//func (controller *AuthController) ResetPassword() { | ||
| 96 | +// authService := service.AuthService{} | ||
| 97 | +// userOrgCommand := &command.ResetPasswordCommand{} | ||
| 98 | +// err := controller.Unmarshal(userOrgCommand) | ||
| 99 | +// if err != nil { | ||
| 100 | +// controller.Response(nil, err) | ||
| 101 | +// return | ||
| 102 | +// } | ||
| 103 | +// //userOrgCommand.Operator = controller.GetOperator() | ||
| 104 | +// data, err := authService.ResetPassword(userOrgCommand) | ||
| 105 | +// controller.Response(data, err) | ||
| 106 | +//} | ||
| 107 | +// | ||
| 108 | +//func (controller *AuthController) OrgSwitch() { | ||
| 109 | +// authService := service.AuthService{} | ||
| 110 | +// cmd := &command.SwitchOrgCommand{} | ||
| 111 | +// err := controller.Unmarshal(cmd) | ||
| 112 | +// if err != nil { | ||
| 113 | +// controller.Response(nil, err) | ||
| 114 | +// return | ||
| 115 | +// } | ||
| 116 | +// cmd.Operator = controller.GetOperator() | ||
| 117 | +// data, err := authService.OrgSwitch(cmd) | ||
| 118 | +// controller.Response(data, err) | ||
| 119 | +//} |
| @@ -2,7 +2,6 @@ package routers | @@ -2,7 +2,6 @@ package routers | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "github.com/beego/beego/v2/server/web" | 4 | "github.com/beego/beego/v2/server/web" |
| 5 | - "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/port/beego/controllers/mobile_client" | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/port/beego/controllers/web_client" | 5 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/port/beego/controllers/web_client" |
| 7 | ) | 6 | ) |
| 8 | 7 | ||
| @@ -22,6 +21,4 @@ func init() { | @@ -22,6 +21,4 @@ func init() { | ||
| 22 | web.Router("/v1/web/users/selector/org", &web_client.UsersController{}, "Post:SelectorCompanyOrg") | 21 | web.Router("/v1/web/users/selector/org", &web_client.UsersController{}, "Post:SelectorCompanyOrg") |
| 23 | web.Router("/v1/web/users/selector/role", &web_client.UsersController{}, "Post:SelectorCompanyRole") | 22 | web.Router("/v1/web/users/selector/role", &web_client.UsersController{}, "Post:SelectorCompanyRole") |
| 24 | web.Router("/v1/web/users/selector/org/all", &web_client.UsersController{}, "Post:SelectorCompanyOrgAll") | 23 | web.Router("/v1/web/users/selector/org/all", &web_client.UsersController{}, "Post:SelectorCompanyOrgAll") |
| 25 | - | ||
| 26 | - web.Router("/v1/web/auth/users-info", &mobile_client.AuthController{}, "Post:GetUserInfo") | ||
| 27 | } | 24 | } |
-
请 注册 或 登录 后发表评论