正在显示
17 个修改的文件
包含
189 行增加
和
71 行删除
| @@ -14,7 +14,7 @@ type DestroyAccountCommand struct { | @@ -14,7 +14,7 @@ type DestroyAccountCommand struct { | ||
| 14 | } | 14 | } |
| 15 | 15 | ||
| 16 | func (destroyAccountCommand *DestroyAccountCommand) Valid(validation *validation.Validation) { | 16 | func (destroyAccountCommand *DestroyAccountCommand) Valid(validation *validation.Validation) { |
| 17 | - validation.SetError("CustomValid", "未实现的自定义认证") | 17 | + |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | func (destroyAccountCommand *DestroyAccountCommand) ValidateCommand() error { | 20 | func (destroyAccountCommand *DestroyAccountCommand) ValidateCommand() error { |
| @@ -18,7 +18,7 @@ type PhoneAuthChangePasswordCommand struct { | @@ -18,7 +18,7 @@ type PhoneAuthChangePasswordCommand struct { | ||
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | func (phoneAuthChangePasswordCommand *PhoneAuthChangePasswordCommand) Valid(validation *validation.Validation) { | 20 | func (phoneAuthChangePasswordCommand *PhoneAuthChangePasswordCommand) Valid(validation *validation.Validation) { |
| 21 | - validation.SetError("CustomValid", "未实现的自定义认证") | 21 | + |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | func (phoneAuthChangePasswordCommand *PhoneAuthChangePasswordCommand) ValidateCommand() error { | 24 | func (phoneAuthChangePasswordCommand *PhoneAuthChangePasswordCommand) ValidateCommand() error { |
| @@ -16,7 +16,7 @@ type PhoneAuthCheckCommand struct { | @@ -16,7 +16,7 @@ type PhoneAuthCheckCommand struct { | ||
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | func (phoneAuthCheckCommand *PhoneAuthCheckCommand) Valid(validation *validation.Validation) { | 18 | func (phoneAuthCheckCommand *PhoneAuthCheckCommand) Valid(validation *validation.Validation) { |
| 19 | - validation.SetError("CustomValid", "未实现的自定义认证") | 19 | + |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | func (phoneAuthCheckCommand *PhoneAuthCheckCommand) ValidateCommand() error { | 22 | func (phoneAuthCheckCommand *PhoneAuthCheckCommand) ValidateCommand() error { |
| @@ -16,7 +16,7 @@ type PhoneAuthResetPasswordCommand struct { | @@ -16,7 +16,7 @@ type PhoneAuthResetPasswordCommand struct { | ||
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | func (phoneAuthResetPasswordCommand *PhoneAuthResetPasswordCommand) Valid(validation *validation.Validation) { | 18 | func (phoneAuthResetPasswordCommand *PhoneAuthResetPasswordCommand) Valid(validation *validation.Validation) { |
| 19 | - validation.SetError("CustomValid", "未实现的自定义认证") | 19 | + |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | func (phoneAuthResetPasswordCommand *PhoneAuthResetPasswordCommand) ValidateCommand() error { | 22 | func (phoneAuthResetPasswordCommand *PhoneAuthResetPasswordCommand) ValidateCommand() error { |
| @@ -16,7 +16,7 @@ type PhoneAuthResetPhoneCommand struct { | @@ -16,7 +16,7 @@ type PhoneAuthResetPhoneCommand struct { | ||
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | func (phoneAuthResetPhoneCommand *PhoneAuthResetPhoneCommand) Valid(validation *validation.Validation) { | 18 | func (phoneAuthResetPhoneCommand *PhoneAuthResetPhoneCommand) Valid(validation *validation.Validation) { |
| 19 | - validation.SetError("CustomValid", "未实现的自定义认证") | 19 | + |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | func (phoneAuthResetPhoneCommand *PhoneAuthResetPhoneCommand) ValidateCommand() error { | 22 | func (phoneAuthResetPhoneCommand *PhoneAuthResetPhoneCommand) ValidateCommand() error { |
| @@ -14,7 +14,7 @@ type RefreshIMCommand struct { | @@ -14,7 +14,7 @@ type RefreshIMCommand struct { | ||
| 14 | } | 14 | } |
| 15 | 15 | ||
| 16 | func (refreshIMCommand *RefreshIMCommand) Valid(validation *validation.Validation) { | 16 | func (refreshIMCommand *RefreshIMCommand) Valid(validation *validation.Validation) { |
| 17 | - validation.SetError("CustomValid", "未实现的自定义认证") | 17 | + |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | func (refreshIMCommand *RefreshIMCommand) ValidateCommand() error { | 20 | func (refreshIMCommand *RefreshIMCommand) ValidateCommand() error { |
| @@ -114,10 +114,30 @@ func (authService *AuthService) PhoneAuthCheck(phoneAuthCheckCommand *command.Ph | @@ -114,10 +114,30 @@ func (authService *AuthService) PhoneAuthCheck(phoneAuthCheckCommand *command.Ph | ||
| 114 | defer func() { | 114 | defer func() { |
| 115 | transactionContext.RollbackTransaction() | 115 | transactionContext.RollbackTransaction() |
| 116 | }() | 116 | }() |
| 117 | + | ||
| 118 | + var userBaseRepository domain.UserBaseRepository | ||
| 119 | + if value, err := factory.CreateUserBaseRepository(map[string]interface{}{ | ||
| 120 | + "transactionContext": transactionContext, | ||
| 121 | + }); err != nil { | ||
| 122 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 123 | + } else { | ||
| 124 | + userBaseRepository = value | ||
| 125 | + } | ||
| 126 | + userBase, err := userBaseRepository.FindOne(map[string]interface{}{"account": phoneAuthCheckCommand.Phone}) | ||
| 127 | + if err != nil { | ||
| 128 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 129 | + } | ||
| 130 | + if err == domain.ErrorNotFound { | ||
| 131 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, "该用户不存在") | ||
| 132 | + } | ||
| 133 | + if err := userBase.CheckAccountPassword(phoneAuthCheckCommand.Phone, phoneAuthCheckCommand.Password); err != nil { | ||
| 134 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 135 | + } | ||
| 136 | + | ||
| 117 | if err := transactionContext.CommitTransaction(); err != nil { | 137 | if err := transactionContext.CommitTransaction(); err != nil { |
| 118 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 138 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| 119 | } | 139 | } |
| 120 | - return nil, nil | 140 | + return struct{}{}, nil |
| 121 | } | 141 | } |
| 122 | 142 | ||
| 123 | // 重置密码(忘记密码) | 143 | // 重置密码(忘记密码) |
| @@ -135,10 +155,34 @@ func (authService *AuthService) PhoneAuthResetPassword(phoneAuthResetPasswordCom | @@ -135,10 +155,34 @@ func (authService *AuthService) PhoneAuthResetPassword(phoneAuthResetPasswordCom | ||
| 135 | defer func() { | 155 | defer func() { |
| 136 | transactionContext.RollbackTransaction() | 156 | transactionContext.RollbackTransaction() |
| 137 | }() | 157 | }() |
| 158 | + | ||
| 159 | + var userBaseRepository domain.UserBaseRepository | ||
| 160 | + if value, err := factory.CreateUserBaseRepository(map[string]interface{}{ | ||
| 161 | + "transactionContext": transactionContext, | ||
| 162 | + }); err != nil { | ||
| 163 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 164 | + } else { | ||
| 165 | + userBaseRepository = value | ||
| 166 | + } | ||
| 167 | + userBase, err := userBaseRepository.FindOne(map[string]interface{}{"account": phoneAuthResetPasswordCommand.Phone}) | ||
| 168 | + if err != nil { | ||
| 169 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 170 | + } | ||
| 171 | + if err == domain.ErrorNotFound { | ||
| 172 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, "该用户不存在") | ||
| 173 | + } | ||
| 174 | + if err := userBase.ResetPassword(phoneAuthResetPasswordCommand.Phone, phoneAuthResetPasswordCommand.Password); err != nil { | ||
| 175 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + if _, err = userBaseRepository.Save(userBase); err != nil { | ||
| 179 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 180 | + } | ||
| 181 | + | ||
| 138 | if err := transactionContext.CommitTransaction(); err != nil { | 182 | if err := transactionContext.CommitTransaction(); err != nil { |
| 139 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 183 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
| 140 | } | 184 | } |
| 141 | - return nil, nil | 185 | + return struct{}{}, nil |
| 142 | } | 186 | } |
| 143 | 187 | ||
| 144 | // 重置手机号 | 188 | // 重置手机号 |
| 1 | package domain | 1 | package domain |
| 2 | 2 | ||
| 3 | -import "time" | 3 | +import ( |
| 4 | + "fmt" | ||
| 5 | + "strings" | ||
| 6 | + "time" | ||
| 7 | +) | ||
| 4 | 8 | ||
| 5 | // 用户基础 | 9 | // 用户基础 |
| 6 | type UserBase struct { | 10 | type UserBase struct { |
| @@ -80,3 +84,63 @@ func (userBase *UserBase) Update(data map[string]interface{}) error { | @@ -80,3 +84,63 @@ func (userBase *UserBase) Update(data map[string]interface{}) error { | ||
| 80 | } | 84 | } |
| 81 | return nil | 85 | return nil |
| 82 | } | 86 | } |
| 87 | + | ||
| 88 | +/***** 1.模块基础函数 *****/ | ||
| 89 | + | ||
| 90 | +// AddRelatedUser 添加账号关联的用户 | ||
| 91 | +// | ||
| 92 | +// userId 用户id | ||
| 93 | +func (userBase *UserBase) AddRelatedUser(userId int64) bool { | ||
| 94 | + if userId <= 0 { | ||
| 95 | + return false | ||
| 96 | + } | ||
| 97 | + var res = true | ||
| 98 | + for i := range userBase.RelatedUsers { | ||
| 99 | + if userBase.RelatedUsers[i] == userId { | ||
| 100 | + return false | ||
| 101 | + } | ||
| 102 | + } | ||
| 103 | + userBase.RelatedUsers = append(userBase.RelatedUsers, userId) | ||
| 104 | + return res | ||
| 105 | +} | ||
| 106 | + | ||
| 107 | +// CheckAccountPassword 检查账号密码 | ||
| 108 | +// | ||
| 109 | +// account 账号 (手机号) | ||
| 110 | +// password 密码(sha1) | ||
| 111 | +func (userBase *UserBase) CheckAccountPassword(account, password string) error { | ||
| 112 | + if userBase.Status != int(UserStatusEnable) { | ||
| 113 | + return fmt.Errorf("该用户不存在") | ||
| 114 | + } | ||
| 115 | + if !strings.EqualFold(account, userBase.Account) { | ||
| 116 | + return fmt.Errorf("该用户不存在") | ||
| 117 | + } | ||
| 118 | + if !strings.EqualFold(userBase.Password, password) { | ||
| 119 | + return fmt.Errorf("密码输入错误") | ||
| 120 | + } | ||
| 121 | + return nil | ||
| 122 | +} | ||
| 123 | + | ||
| 124 | +// ResetPassword 重置密码 | ||
| 125 | +// | ||
| 126 | +// account 账号 (手机号) | ||
| 127 | +// password 密码(sha1) | ||
| 128 | +func (userBase *UserBase) ResetPassword(account, password string) error { | ||
| 129 | + if userBase.Status != int(UserStatusEnable) { | ||
| 130 | + return fmt.Errorf("该用户不存在") | ||
| 131 | + } | ||
| 132 | + if !strings.EqualFold(account, userBase.Account) { | ||
| 133 | + return fmt.Errorf("该用户不存在") | ||
| 134 | + } | ||
| 135 | + userBase.Password = password | ||
| 136 | + return nil | ||
| 137 | +} | ||
| 138 | + | ||
| 139 | +func (userBase *UserBase) ResetPhone(oldPhone, newPhone string) error { | ||
| 140 | + if !strings.EqualFold(oldPhone, userBase.Account) { | ||
| 141 | + return fmt.Errorf("该用户不存在") | ||
| 142 | + } | ||
| 143 | + userBase.Account = newPhone | ||
| 144 | + userBase.UserInfo.Phone = newPhone | ||
| 145 | + return nil | ||
| 146 | +} |
| @@ -60,6 +60,13 @@ func (ptr *PgCreateUserService) CreateUser(optUser *domain.User, newUser *domain | @@ -60,6 +60,13 @@ func (ptr *PgCreateUserService) CreateUser(optUser *domain.User, newUser *domain | ||
| 60 | if user, err = userRepository.Save(newUser); err != nil { | 60 | if user, err = userRepository.Save(newUser); err != nil { |
| 61 | return nil, err | 61 | return nil, err |
| 62 | } | 62 | } |
| 63 | + | ||
| 64 | + // 5.更新绑定用户到userBase | ||
| 65 | + if userBase.AddRelatedUser(user.UserId) { | ||
| 66 | + if userBase, err = userBaseRepository.Save(userBase); err != nil { | ||
| 67 | + return nil, err | ||
| 68 | + } | ||
| 69 | + } | ||
| 63 | return user, nil | 70 | return user, nil |
| 64 | } | 71 | } |
| 65 | 72 |
| @@ -33,19 +33,19 @@ func (repository *CompanyRepository) Save(company *domain.Company) (*domain.Comp | @@ -33,19 +33,19 @@ func (repository *CompanyRepository) Save(company *domain.Company) (*domain.Comp | ||
| 33 | "created_at", | 33 | "created_at", |
| 34 | "updated_at", | 34 | "updated_at", |
| 35 | } | 35 | } |
| 36 | - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 37 | - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) | 36 | + insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "company_id")) |
| 37 | + insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "company_id")) | ||
| 38 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | 38 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) |
| 39 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "company_id") | 39 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "company_id") |
| 40 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) | 40 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) |
| 41 | tx := repository.transactionContext.PgTx | 41 | tx := repository.transactionContext.PgTx |
| 42 | if company.Identify() == nil { | 42 | if company.Identify() == nil { |
| 43 | - companyId, err := repository.nextIdentify() | ||
| 44 | - if err != nil { | ||
| 45 | - return company, err | ||
| 46 | - } else { | ||
| 47 | - company.CompanyId = companyId | ||
| 48 | - } | 43 | + //companyId, err := repository.nextIdentify() |
| 44 | + //if err != nil { | ||
| 45 | + // return company, err | ||
| 46 | + //} else { | ||
| 47 | + // company.CompanyId = companyId | ||
| 48 | + //} | ||
| 49 | if _, err := tx.QueryOne( | 49 | if _, err := tx.QueryOne( |
| 50 | pg.Scan( | 50 | pg.Scan( |
| 51 | &company.CompanyId, | 51 | &company.CompanyId, |
| @@ -56,7 +56,7 @@ func (repository *CompanyRepository) Save(company *domain.Company) (*domain.Comp | @@ -56,7 +56,7 @@ func (repository *CompanyRepository) Save(company *domain.Company) (*domain.Comp | ||
| 56 | &company.UpdatedAt, | 56 | &company.UpdatedAt, |
| 57 | ), | 57 | ), |
| 58 | fmt.Sprintf("INSERT INTO users.company (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 58 | fmt.Sprintf("INSERT INTO users.company (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
| 59 | - company.CompanyId, | 59 | + //company.CompanyId, |
| 60 | company.CompanyConfig, | 60 | company.CompanyConfig, |
| 61 | company.CompanyInfo, | 61 | company.CompanyInfo, |
| 62 | company.Status, | 62 | company.Status, |
| @@ -39,19 +39,19 @@ func (repository *OrgRepository) Save(org *domain.Org) (*domain.Org, error) { | @@ -39,19 +39,19 @@ func (repository *OrgRepository) Save(org *domain.Org) (*domain.Org, error) { | ||
| 39 | "parent_id", | 39 | "parent_id", |
| 40 | "parent_path", | 40 | "parent_path", |
| 41 | } | 41 | } |
| 42 | - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 43 | - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) | 42 | + insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "org_id")) |
| 43 | + insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "org_id")) | ||
| 44 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | 44 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) |
| 45 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "org_id") | 45 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "org_id") |
| 46 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) | 46 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) |
| 47 | tx := repository.transactionContext.PgTx | 47 | tx := repository.transactionContext.PgTx |
| 48 | if org.Identify() == nil { | 48 | if org.Identify() == nil { |
| 49 | - orgId, err := repository.nextIdentify() | ||
| 50 | - if err != nil { | ||
| 51 | - return org, err | ||
| 52 | - } else { | ||
| 53 | - org.OrgId = orgId | ||
| 54 | - } | 49 | + //orgId, err := repository.nextIdentify() |
| 50 | + //if err != nil { | ||
| 51 | + // return org, err | ||
| 52 | + //} else { | ||
| 53 | + // org.OrgId = orgId | ||
| 54 | + //} | ||
| 55 | if _, err := tx.QueryOne( | 55 | if _, err := tx.QueryOne( |
| 56 | pg.Scan( | 56 | pg.Scan( |
| 57 | &org.OrgId, | 57 | &org.OrgId, |
| @@ -68,7 +68,7 @@ func (repository *OrgRepository) Save(org *domain.Org) (*domain.Org, error) { | @@ -68,7 +68,7 @@ func (repository *OrgRepository) Save(org *domain.Org) (*domain.Org, error) { | ||
| 68 | &org.ParentPath, | 68 | &org.ParentPath, |
| 69 | ), | 69 | ), |
| 70 | fmt.Sprintf("INSERT INTO users.org (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 70 | fmt.Sprintf("INSERT INTO users.org (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
| 71 | - org.OrgId, | 71 | + //org.OrgId, |
| 72 | org.CompanyId, | 72 | org.CompanyId, |
| 73 | org.CreatedAt, | 73 | org.CreatedAt, |
| 74 | org.UpdatedAt, | 74 | org.UpdatedAt, |
| @@ -37,19 +37,19 @@ func (repository *RoleRepository) Save(role *domain.Role) (*domain.Role, error) | @@ -37,19 +37,19 @@ func (repository *RoleRepository) Save(role *domain.Role) (*domain.Role, error) | ||
| 37 | "created_at", | 37 | "created_at", |
| 38 | "updated_at", | 38 | "updated_at", |
| 39 | } | 39 | } |
| 40 | - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 41 | - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) | 40 | + insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "role_id")) |
| 41 | + insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "role_id")) | ||
| 42 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | 42 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) |
| 43 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "role_id") | 43 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "role_id") |
| 44 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) | 44 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) |
| 45 | tx := repository.transactionContext.PgTx | 45 | tx := repository.transactionContext.PgTx |
| 46 | if role.Identify() == nil { | 46 | if role.Identify() == nil { |
| 47 | - roleId, err := repository.nextIdentify() | ||
| 48 | - if err != nil { | ||
| 49 | - return role, err | ||
| 50 | - } else { | ||
| 51 | - role.RoleId = roleId | ||
| 52 | - } | 47 | + //roleId, err := repository.nextIdentify() |
| 48 | + //if err != nil { | ||
| 49 | + // return role, err | ||
| 50 | + //} else { | ||
| 51 | + // role.RoleId = roleId | ||
| 52 | + //} | ||
| 53 | if _, err := tx.QueryOne( | 53 | if _, err := tx.QueryOne( |
| 54 | pg.Scan( | 54 | pg.Scan( |
| 55 | &role.RoleId, | 55 | &role.RoleId, |
| @@ -64,7 +64,7 @@ func (repository *RoleRepository) Save(role *domain.Role) (*domain.Role, error) | @@ -64,7 +64,7 @@ func (repository *RoleRepository) Save(role *domain.Role) (*domain.Role, error) | ||
| 64 | &role.UpdatedAt, | 64 | &role.UpdatedAt, |
| 65 | ), | 65 | ), |
| 66 | fmt.Sprintf("INSERT INTO users.role (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 66 | fmt.Sprintf("INSERT INTO users.role (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
| 67 | - role.RoleId, | 67 | + //role.RoleId, |
| 68 | role.CompanyId, | 68 | role.CompanyId, |
| 69 | role.OrgId, | 69 | role.OrgId, |
| 70 | role.RoleType, | 70 | role.RoleType, |
| @@ -24,8 +24,9 @@ func (repository *UserBaseRepository) nextIdentify() (int64, error) { | @@ -24,8 +24,9 @@ func (repository *UserBaseRepository) nextIdentify() (int64, error) { | ||
| 24 | id, err := IdWorker.NextId() | 24 | id, err := IdWorker.NextId() |
| 25 | return id, err | 25 | return id, err |
| 26 | } | 26 | } |
| 27 | -func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.UserBase, error) { | ||
| 28 | - sqlBuildFields := []string{ | 27 | + |
| 28 | +var ( | ||
| 29 | + sqlBuildFields = []string{ | ||
| 29 | "user_base_id", | 30 | "user_base_id", |
| 30 | "user_info", | 31 | "user_info", |
| 31 | "account", | 32 | "account", |
| @@ -36,19 +37,23 @@ func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.U | @@ -36,19 +37,23 @@ func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.U | ||
| 36 | "created_at", | 37 | "created_at", |
| 37 | "updated_at", | 38 | "updated_at", |
| 38 | } | 39 | } |
| 39 | - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 40 | - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) | ||
| 41 | - returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 42 | - updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "userBase_id") | ||
| 43 | - updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) | 40 | + insertFieldsSnippet = sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_base_id")) |
| 41 | + insertPlaceHoldersSnippet = sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_base_id")) | ||
| 42 | + returningFieldsSnippet = sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 43 | + updateFields = sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_base_id") | ||
| 44 | + updateFieldsSnippet = sqlbuilder.SqlUpdateFieldsSnippet(updateFields) | ||
| 45 | +) | ||
| 46 | + | ||
| 47 | +func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.UserBase, error) { | ||
| 48 | + | ||
| 44 | tx := repository.transactionContext.PgTx | 49 | tx := repository.transactionContext.PgTx |
| 45 | if userBase.Identify() == nil { | 50 | if userBase.Identify() == nil { |
| 46 | - userBaseId, err := repository.nextIdentify() | ||
| 47 | - if err != nil { | ||
| 48 | - return userBase, err | ||
| 49 | - } else { | ||
| 50 | - userBase.UserBaseId = userBaseId | ||
| 51 | - } | 51 | + //userBaseId, err := repository.nextIdentify() |
| 52 | + //if err != nil { | ||
| 53 | + // return userBase, err | ||
| 54 | + //} else { | ||
| 55 | + // userBase.UserBaseId = userBaseId | ||
| 56 | + //} | ||
| 52 | if _, err := tx.QueryOne( | 57 | if _, err := tx.QueryOne( |
| 53 | pg.Scan( | 58 | pg.Scan( |
| 54 | &userBase.UserBaseId, | 59 | &userBase.UserBaseId, |
| @@ -62,7 +67,7 @@ func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.U | @@ -62,7 +67,7 @@ func (repository *UserBaseRepository) Save(userBase *domain.UserBase) (*domain.U | ||
| 62 | &userBase.UpdatedAt, | 67 | &userBase.UpdatedAt, |
| 63 | ), | 68 | ), |
| 64 | fmt.Sprintf("INSERT INTO users.user_base (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 69 | fmt.Sprintf("INSERT INTO users.user_base (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
| 65 | - userBase.UserBaseId, | 70 | + //userBase.UserBaseId, |
| 66 | userBase.UserInfo, | 71 | userBase.UserInfo, |
| 67 | userBase.Account, | 72 | userBase.Account, |
| 68 | userBase.Password, | 73 | userBase.Password, |
| @@ -120,7 +125,7 @@ func (repository *UserBaseRepository) FindOne(queryOptions map[string]interface{ | @@ -120,7 +125,7 @@ func (repository *UserBaseRepository) FindOne(queryOptions map[string]interface{ | ||
| 120 | query.SetWhereByQueryOption("user_base.user_base_id = ?", "userBaseId") | 125 | query.SetWhereByQueryOption("user_base.user_base_id = ?", "userBaseId") |
| 121 | if err := query.First(); err != nil { | 126 | if err := query.First(); err != nil { |
| 122 | if err.Error() == "pg: no rows in result set" { | 127 | if err.Error() == "pg: no rows in result set" { |
| 123 | - return nil, fmt.Errorf("没有此资源") | 128 | + return nil, domain.ErrorNotFound |
| 124 | } else { | 129 | } else { |
| 125 | return nil, err | 130 | return nil, err |
| 126 | } | 131 | } |
| @@ -42,19 +42,19 @@ func (repository *UserRepository) Save(user *domain.User) (*domain.User, error) | @@ -42,19 +42,19 @@ func (repository *UserRepository) Save(user *domain.User) (*domain.User, error) | ||
| 42 | "created_at", | 42 | "created_at", |
| 43 | "updated_at", | 43 | "updated_at", |
| 44 | } | 44 | } |
| 45 | - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | ||
| 46 | - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) | 45 | + insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_id")) |
| 46 | + insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_id")) | ||
| 47 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | 47 | returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) |
| 48 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_id") | 48 | updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "user_id") |
| 49 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) | 49 | updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) |
| 50 | tx := repository.transactionContext.PgTx | 50 | tx := repository.transactionContext.PgTx |
| 51 | if user.Identify() == nil { | 51 | if user.Identify() == nil { |
| 52 | - userId, err := repository.nextIdentify() | ||
| 53 | - if err != nil { | ||
| 54 | - return user, err | ||
| 55 | - } else { | ||
| 56 | - user.UserId = userId | ||
| 57 | - } | 52 | + //userId, err := repository.nextIdentify() |
| 53 | + //if err != nil { | ||
| 54 | + // return user, err | ||
| 55 | + //} else { | ||
| 56 | + // user.UserId = userId | ||
| 57 | + //} | ||
| 58 | if _, err := tx.QueryOne( | 58 | if _, err := tx.QueryOne( |
| 59 | pg.Scan( | 59 | pg.Scan( |
| 60 | &user.UserId, | 60 | &user.UserId, |
| @@ -74,7 +74,7 @@ func (repository *UserRepository) Save(user *domain.User) (*domain.User, error) | @@ -74,7 +74,7 @@ func (repository *UserRepository) Save(user *domain.User) (*domain.User, error) | ||
| 74 | &user.UpdatedAt, | 74 | &user.UpdatedAt, |
| 75 | ), | 75 | ), |
| 76 | fmt.Sprintf("INSERT INTO users.\"user\" (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 76 | fmt.Sprintf("INSERT INTO users.\"user\" (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
| 77 | - user.UserId, | 77 | + //user.UserId, |
| 78 | user.CompanyId, | 78 | user.CompanyId, |
| 79 | user.UserBaseId, | 79 | user.UserBaseId, |
| 80 | user.UserType, | 80 | user.UserType, |
| @@ -10,7 +10,7 @@ import ( | @@ -10,7 +10,7 @@ import ( | ||
| 10 | ) | 10 | ) |
| 11 | 11 | ||
| 12 | var _ = Describe("企业注册", func() { | 12 | var _ = Describe("企业注册", func() { |
| 13 | - //var Id int64 | 13 | + return |
| 14 | BeforeEach(func() { | 14 | BeforeEach(func() { |
| 15 | //_, err := pG.DB.QueryOne( | 15 | //_, err := pG.DB.QueryOne( |
| 16 | // pg.Scan(&Id), | 16 | // pg.Scan(&Id), |
| @@ -23,9 +23,9 @@ var _ = Describe("企业注册", func() { | @@ -23,9 +23,9 @@ var _ = Describe("企业注册", func() { | ||
| 23 | It("", func() { | 23 | It("", func() { |
| 24 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 24 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
| 25 | body := map[string]interface{}{ | 25 | body := map[string]interface{}{ |
| 26 | - "companyName": "string", | 26 | + "companyName": "string1", |
| 27 | "contacts": "string", | 27 | "contacts": "string", |
| 28 | - "phone": "18860183030", | 28 | + "phone": "18860183031", |
| 29 | "scale": "string", | 29 | "scale": "string", |
| 30 | "industryCategory": "string", | 30 | "industryCategory": "string", |
| 31 | "password": "string", | 31 | "password": "string", |
| @@ -11,12 +11,11 @@ import ( | @@ -11,12 +11,11 @@ import ( | ||
| 11 | ) | 11 | ) |
| 12 | 12 | ||
| 13 | var _ = Describe("手机账号密码检查", func() { | 13 | var _ = Describe("手机账号密码检查", func() { |
| 14 | - return | ||
| 15 | var Id int64 | 14 | var Id int64 |
| 16 | BeforeEach(func() { | 15 | BeforeEach(func() { |
| 17 | _, err := pG.DB.QueryOne( | 16 | _, err := pG.DB.QueryOne( |
| 18 | pg.Scan(&Id), | 17 | pg.Scan(&Id), |
| 19 | - "INSERT INTO s () VALUES () RETURNING _id", | 18 | + "INSERT INTO \"users\".\"user_base\"(\"user_base_id\", \"user_info\", \"account\", \"password\", \"im\", \"related_user\", \"status\", \"created_at\", \"updated_at\") VALUES (999, '{\"phone\": \"phone\", \"userName\": \"string\"}', 'phone', 'string', '{\"accid\": \"\", \"imToken\": \"\", \"csAccountId\": \"\"}', '{4}', 1, '2021-07-24 10:16:17.680805+08', '2021-07-24 10:16:17.680805+08') RETURNING user_base_id;", |
| 20 | ) | 19 | ) |
| 21 | Expect(err).NotTo(HaveOccurred()) | 20 | Expect(err).NotTo(HaveOccurred()) |
| 22 | }) | 21 | }) |
| @@ -25,7 +24,7 @@ var _ = Describe("手机账号密码检查", func() { | @@ -25,7 +24,7 @@ var _ = Describe("手机账号密码检查", func() { | ||
| 25 | It("", func() { | 24 | It("", func() { |
| 26 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
| 27 | body := map[string]interface{}{ | 26 | body := map[string]interface{}{ |
| 28 | - "phone": "string", | 27 | + "phone": "phone", |
| 29 | "password": "string", | 28 | "password": "string", |
| 30 | } | 29 | } |
| 31 | httpExpect.POST("/auth/check-password"). | 30 | httpExpect.POST("/auth/check-password"). |
| @@ -41,7 +40,7 @@ var _ = Describe("手机账号密码检查", func() { | @@ -41,7 +40,7 @@ var _ = Describe("手机账号密码检查", func() { | ||
| 41 | }) | 40 | }) |
| 42 | }) | 41 | }) |
| 43 | AfterEach(func() { | 42 | AfterEach(func() { |
| 44 | - _, err := pG.DB.Exec("DELETE FROM s WHERE true") | 43 | + _, err := pG.DB.Exec("DELETE FROM users.user_base WHERE user_base_id = 999") |
| 45 | Expect(err).NotTo(HaveOccurred()) | 44 | Expect(err).NotTo(HaveOccurred()) |
| 46 | }) | 45 | }) |
| 47 | }) | 46 | }) |
| @@ -11,12 +11,11 @@ import ( | @@ -11,12 +11,11 @@ import ( | ||
| 11 | ) | 11 | ) |
| 12 | 12 | ||
| 13 | var _ = Describe("重置密码(忘记密码)", func() { | 13 | var _ = Describe("重置密码(忘记密码)", func() { |
| 14 | - return | ||
| 15 | var Id int64 | 14 | var Id int64 |
| 16 | BeforeEach(func() { | 15 | BeforeEach(func() { |
| 17 | _, err := pG.DB.QueryOne( | 16 | _, err := pG.DB.QueryOne( |
| 18 | pg.Scan(&Id), | 17 | pg.Scan(&Id), |
| 19 | - "INSERT INTO s () VALUES () RETURNING _id", | 18 | + "INSERT INTO \"users\".\"user_base\"(\"user_base_id\", \"user_info\", \"account\", \"password\", \"im\", \"related_user\", \"status\", \"created_at\", \"updated_at\") VALUES (999, '{\"phone\": \"phone\", \"userName\": \"string\"}', 'phone', 'string', '{\"accid\": \"\", \"imToken\": \"\", \"csAccountId\": \"\"}', '{4}', 1, '2021-07-24 10:16:17.680805+08', '2021-07-24 10:16:17.680805+08') RETURNING user_base_id;", |
| 20 | ) | 19 | ) |
| 21 | Expect(err).NotTo(HaveOccurred()) | 20 | Expect(err).NotTo(HaveOccurred()) |
| 22 | }) | 21 | }) |
| @@ -25,7 +24,7 @@ var _ = Describe("重置密码(忘记密码)", func() { | @@ -25,7 +24,7 @@ var _ = Describe("重置密码(忘记密码)", func() { | ||
| 25 | It("", func() { | 24 | It("", func() { |
| 26 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
| 27 | body := map[string]interface{}{ | 26 | body := map[string]interface{}{ |
| 28 | - "phone": "string", | 27 | + "phone": "phone", |
| 29 | "password": "string", | 28 | "password": "string", |
| 30 | } | 29 | } |
| 31 | httpExpect.POST("/auth/reset-password"). | 30 | httpExpect.POST("/auth/reset-password"). |
| @@ -41,7 +40,7 @@ var _ = Describe("重置密码(忘记密码)", func() { | @@ -41,7 +40,7 @@ var _ = Describe("重置密码(忘记密码)", func() { | ||
| 41 | }) | 40 | }) |
| 42 | }) | 41 | }) |
| 43 | AfterEach(func() { | 42 | AfterEach(func() { |
| 44 | - _, err := pG.DB.Exec("DELETE FROM s WHERE true") | 43 | + _, err := pG.DB.Exec("DELETE FROM users.user_base WHERE user_base_id = 999") |
| 45 | Expect(err).NotTo(HaveOccurred()) | 44 | Expect(err).NotTo(HaveOccurred()) |
| 46 | }) | 45 | }) |
| 47 | }) | 46 | }) |
-
请 注册 或 登录 后发表评论