作者 yangfu

添加修改密码、检查密码

@@ -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 })