正在显示
3 个修改的文件
包含
74 行增加
和
21 行删除
pkg/application/user/command/batch_remove.go
0 → 100644
| @@ -62,6 +62,13 @@ func (srv SyncDataUserService) FromBusinessAdmin(param *domain.MessageBody) erro | @@ -62,6 +62,13 @@ func (srv SyncDataUserService) FromBusinessAdmin(param *domain.MessageBody) erro | ||
| 62 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 62 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 63 | } | 63 | } |
| 64 | err = srv.importUser(¶m4) | 64 | err = srv.importUser(¶m4) |
| 65 | + case "employee/batchRemove": | ||
| 66 | + batchRemove := &command.BatchRemove{} | ||
| 67 | + err = json.Unmarshal(param.Data, batchRemove) | ||
| 68 | + if err != nil { | ||
| 69 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 70 | + } | ||
| 71 | + err = srv.BatchRemove(batchRemove) | ||
| 65 | default: | 72 | default: |
| 66 | log.Logger.Error("action err:" + action) | 73 | log.Logger.Error("action err:" + action) |
| 67 | } | 74 | } |
| @@ -320,3 +327,38 @@ func (srv SyncDataUserService) importUser(param *command.ImportUserCommand) erro | @@ -320,3 +327,38 @@ func (srv SyncDataUserService) importUser(param *command.ImportUserCommand) erro | ||
| 320 | 327 | ||
| 321 | return nil | 328 | return nil |
| 322 | } | 329 | } |
| 330 | + | ||
| 331 | +// BatchRemove 调整部门 | ||
| 332 | +func (srv SyncDataUserService) BatchRemove(batchRemove *command.BatchRemove) error { | ||
| 333 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 334 | + if err != nil { | ||
| 335 | + return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 336 | + } | ||
| 337 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 338 | + return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 339 | + } | ||
| 340 | + defer func() { | ||
| 341 | + _ = transactionContext.RollbackTransaction() | ||
| 342 | + }() | ||
| 343 | + userRepo := factory.CreateUserRepository(map[string]interface{}{ | ||
| 344 | + "transactionContext": transactionContext, | ||
| 345 | + }) | ||
| 346 | + if len(batchRemove.UserIds) > 0 { | ||
| 347 | + for _, item := range batchRemove.UserIds { | ||
| 348 | + user, err := userRepo.FindOne(map[string]interface{}{"id": item, "companyId": batchRemove.CompanyId}) | ||
| 349 | + if err != nil { | ||
| 350 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 351 | + } | ||
| 352 | + user.DepartmentId = batchRemove.DepartmentIds | ||
| 353 | + user.UpdatedAt = time.Now() | ||
| 354 | + _, err = userRepo.Update(user) | ||
| 355 | + if err != nil { | ||
| 356 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 357 | + } | ||
| 358 | + } | ||
| 359 | + } | ||
| 360 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 361 | + return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 362 | + } | ||
| 363 | + return nil | ||
| 364 | +} |
| @@ -21,16 +21,18 @@ func NewUserRepository(tx *pgTransaction.TransactionContext) *UserRepository { | @@ -21,16 +21,18 @@ func NewUserRepository(tx *pgTransaction.TransactionContext) *UserRepository { | ||
| 21 | 21 | ||
| 22 | func (repo *UserRepository) Insert(user *domain.User) (*domain.User, error) { | 22 | func (repo *UserRepository) Insert(user *domain.User) (*domain.User, error) { |
| 23 | userModel := models.User{ | 23 | userModel := models.User{ |
| 24 | - Id: user.Id, | ||
| 25 | - Account: user.Account, | ||
| 26 | - AvatarUrl: user.AvatarUrl, | ||
| 27 | - CompanyId: user.CompanyId, | ||
| 28 | - AdminType: user.AdminType, | ||
| 29 | - Name: user.Name, | ||
| 30 | - Status: user.Status, | ||
| 31 | - UpdatedAt: user.UpdatedAt, | ||
| 32 | - CreatedAt: user.CreatedAt, | ||
| 33 | - DeletedAt: user.DeletedAt, | 24 | + Id: user.Id, |
| 25 | + Account: user.Account, | ||
| 26 | + AvatarUrl: user.AvatarUrl, | ||
| 27 | + CompanyId: user.CompanyId, | ||
| 28 | + AdminType: user.AdminType, | ||
| 29 | + DepartmentId: user.DepartmentId, | ||
| 30 | + PositionId: user.PositionId, | ||
| 31 | + Name: user.Name, | ||
| 32 | + Status: user.Status, | ||
| 33 | + UpdatedAt: user.UpdatedAt, | ||
| 34 | + CreatedAt: user.CreatedAt, | ||
| 35 | + DeletedAt: user.DeletedAt, | ||
| 34 | } | 36 | } |
| 35 | tx := repo.transactionContext.PgTx | 37 | tx := repo.transactionContext.PgTx |
| 36 | _, err := tx.Model(&userModel).Insert() | 38 | _, err := tx.Model(&userModel).Insert() |
| @@ -43,17 +45,19 @@ func (repo *UserRepository) Insert(user *domain.User) (*domain.User, error) { | @@ -43,17 +45,19 @@ func (repo *UserRepository) Insert(user *domain.User) (*domain.User, error) { | ||
| 43 | 45 | ||
| 44 | func (repo *UserRepository) Update(user *domain.User) (*domain.User, error) { | 46 | func (repo *UserRepository) Update(user *domain.User) (*domain.User, error) { |
| 45 | userModel := models.User{ | 47 | userModel := models.User{ |
| 46 | - Id: user.Id, | ||
| 47 | - Account: user.Account, | ||
| 48 | - AvatarUrl: user.AvatarUrl, | ||
| 49 | - CompanyId: user.CompanyId, | ||
| 50 | - AdminType: user.AdminType, | ||
| 51 | - Name: user.Name, | ||
| 52 | - Email: user.Email, | ||
| 53 | - Status: user.Status, | ||
| 54 | - UpdatedAt: user.UpdatedAt, | ||
| 55 | - CreatedAt: user.CreatedAt, | ||
| 56 | - DeletedAt: user.DeletedAt, | 48 | + Id: user.Id, |
| 49 | + Account: user.Account, | ||
| 50 | + AvatarUrl: user.AvatarUrl, | ||
| 51 | + CompanyId: user.CompanyId, | ||
| 52 | + AdminType: user.AdminType, | ||
| 53 | + DepartmentId: user.DepartmentId, | ||
| 54 | + PositionId: user.PositionId, | ||
| 55 | + Name: user.Name, | ||
| 56 | + Email: user.Email, | ||
| 57 | + Status: user.Status, | ||
| 58 | + UpdatedAt: user.UpdatedAt, | ||
| 59 | + CreatedAt: user.CreatedAt, | ||
| 60 | + DeletedAt: user.DeletedAt, | ||
| 57 | } | 61 | } |
| 58 | tx := repo.transactionContext.PgTx | 62 | tx := repo.transactionContext.PgTx |
| 59 | _, err := tx.Model(&userModel).WherePK().Update() | 63 | _, err := tx.Model(&userModel).WherePK().Update() |
-
请 注册 或 登录 后发表评论