切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
庄敏学
2 years ago
提交
2a9dfc7684e718f7b66407a9f60936f282cc88a0
1 个父辈
429addc2
增加调整部门
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
74 行增加
和
21 行删除
pkg/application/user/command/batch_remove.go
pkg/application/user/sync_data_service.go
pkg/infrastructure/repository/pg_user_repository.go
pkg/application/user/command/batch_remove.go
0 → 100644
查看文件 @
2a9dfc7
package
command
type
BatchRemove
struct
{
CompanyId
int64
`json:"company_id"`
UserIds
[]
int64
`json:"user_ids"`
DepartmentIds
[]
int
`json:"department_ids"`
}
...
...
pkg/application/user/sync_data_service.go
查看文件 @
2a9dfc7
...
...
@@ -62,6 +62,13 @@ func (srv SyncDataUserService) FromBusinessAdmin(param *domain.MessageBody) erro
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
err
=
srv
.
importUser
(
&
param4
)
case
"employee/batchRemove"
:
batchRemove
:=
&
command
.
BatchRemove
{}
err
=
json
.
Unmarshal
(
param
.
Data
,
batchRemove
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
err
=
srv
.
BatchRemove
(
batchRemove
)
default
:
log
.
Logger
.
Error
(
"action err:"
+
action
)
}
...
...
@@ -320,3 +327,38 @@ func (srv SyncDataUserService) importUser(param *command.ImportUserCommand) erro
return
nil
}
// BatchRemove 调整部门
func
(
srv
SyncDataUserService
)
BatchRemove
(
batchRemove
*
command
.
BatchRemove
)
error
{
transactionContext
,
err
:=
factory
.
CreateTransactionContext
(
nil
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
if
err
:=
transactionContext
.
StartTransaction
();
err
!=
nil
{
return
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
}
defer
func
()
{
_
=
transactionContext
.
RollbackTransaction
()
}()
userRepo
:=
factory
.
CreateUserRepository
(
map
[
string
]
interface
{}{
"transactionContext"
:
transactionContext
,
})
if
len
(
batchRemove
.
UserIds
)
>
0
{
for
_
,
item
:=
range
batchRemove
.
UserIds
{
user
,
err
:=
userRepo
.
FindOne
(
map
[
string
]
interface
{}{
"id"
:
item
,
"companyId"
:
batchRemove
.
CompanyId
})
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
user
.
DepartmentId
=
batchRemove
.
DepartmentIds
user
.
UpdatedAt
=
time
.
Now
()
_
,
err
=
userRepo
.
Update
(
user
)
if
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
}
}
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
return
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
}
return
nil
}
...
...
pkg/infrastructure/repository/pg_user_repository.go
查看文件 @
2a9dfc7
...
...
@@ -21,16 +21,18 @@ func NewUserRepository(tx *pgTransaction.TransactionContext) *UserRepository {
func
(
repo
*
UserRepository
)
Insert
(
user
*
domain
.
User
)
(
*
domain
.
User
,
error
)
{
userModel
:=
models
.
User
{
Id
:
user
.
Id
,
Account
:
user
.
Account
,
AvatarUrl
:
user
.
AvatarUrl
,
CompanyId
:
user
.
CompanyId
,
AdminType
:
user
.
AdminType
,
Name
:
user
.
Name
,
Status
:
user
.
Status
,
UpdatedAt
:
user
.
UpdatedAt
,
CreatedAt
:
user
.
CreatedAt
,
DeletedAt
:
user
.
DeletedAt
,
Id
:
user
.
Id
,
Account
:
user
.
Account
,
AvatarUrl
:
user
.
AvatarUrl
,
CompanyId
:
user
.
CompanyId
,
AdminType
:
user
.
AdminType
,
DepartmentId
:
user
.
DepartmentId
,
PositionId
:
user
.
PositionId
,
Name
:
user
.
Name
,
Status
:
user
.
Status
,
UpdatedAt
:
user
.
UpdatedAt
,
CreatedAt
:
user
.
CreatedAt
,
DeletedAt
:
user
.
DeletedAt
,
}
tx
:=
repo
.
transactionContext
.
PgTx
_
,
err
:=
tx
.
Model
(
&
userModel
)
.
Insert
()
...
...
@@ -43,17 +45,19 @@ func (repo *UserRepository) Insert(user *domain.User) (*domain.User, error) {
func
(
repo
*
UserRepository
)
Update
(
user
*
domain
.
User
)
(
*
domain
.
User
,
error
)
{
userModel
:=
models
.
User
{
Id
:
user
.
Id
,
Account
:
user
.
Account
,
AvatarUrl
:
user
.
AvatarUrl
,
CompanyId
:
user
.
CompanyId
,
AdminType
:
user
.
AdminType
,
Name
:
user
.
Name
,
Email
:
user
.
Email
,
Status
:
user
.
Status
,
UpdatedAt
:
user
.
UpdatedAt
,
CreatedAt
:
user
.
CreatedAt
,
DeletedAt
:
user
.
DeletedAt
,
Id
:
user
.
Id
,
Account
:
user
.
Account
,
AvatarUrl
:
user
.
AvatarUrl
,
CompanyId
:
user
.
CompanyId
,
AdminType
:
user
.
AdminType
,
DepartmentId
:
user
.
DepartmentId
,
PositionId
:
user
.
PositionId
,
Name
:
user
.
Name
,
Email
:
user
.
Email
,
Status
:
user
.
Status
,
UpdatedAt
:
user
.
UpdatedAt
,
CreatedAt
:
user
.
CreatedAt
,
DeletedAt
:
user
.
DeletedAt
,
}
tx
:=
repo
.
transactionContext
.
PgTx
_
,
err
:=
tx
.
Model
(
&
userModel
)
.
WherePK
()
.
Update
()
...
...
请
注册
或
登录
后发表评论