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