正在显示
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() |
-
请 注册 或 登录 后发表评论