Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
H
hzsomms
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ZTGK
hzsomms
Commits
6c83ceab
Commit
6c83ceab
authored
Jul 26, 2024
by
hkl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:1.用户管理修改
parent
16ccb5e5
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1038 additions
and
1025 deletions
+1038
-1025
SysUserServiceImpl.java
...jeecg/modules/system/service/impl/SysUserServiceImpl.java
+1038
-1025
No files found.
jeecg-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
View file @
6c83ceab
...
...
@@ -196,7 +196,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
deleteUser
(
String
userId
)
{
//1.删除用户
...
...
@@ -205,7 +205,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
deleteBatchUsers
(
String
userIds
)
{
//1.删除用户
...
...
@@ -217,7 +217,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
public
SysUser
getUserByName
(
String
username
)
{
SysUser
sysUser
=
userMapper
.
getUserByName
(
username
);
//查询用户的租户ids
if
(
sysUser
!=
null
)
{
if
(
sysUser
!=
null
)
{
List
<
Integer
>
list
=
userTenantMapper
.
getTenantIdsByUserId
(
sysUser
.
getId
());
if
(
oConvertUtils
.
isNotEmpty
(
list
))
{
sysUser
.
setRelTenantIds
(
StringUtils
.
join
(
list
.
toArray
(),
SymbolConstant
.
COMMA
));
...
...
@@ -233,7 +233,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addUserWithRole
(
SysUser
user
,
String
roles
)
{
this
.
save
(
user
);
if
(
oConvertUtils
.
isNotEmpty
(
roles
))
{
if
(
oConvertUtils
.
isNotEmpty
(
roles
))
{
String
[]
arr
=
roles
.
split
(
","
);
for
(
String
roleId
:
arr
)
{
SysUserRole
userRole
=
new
SysUserRole
(
user
.
getId
(),
roleId
);
...
...
@@ -243,13 +243,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
editUserWithRole
(
SysUser
user
,
String
roles
)
{
this
.
updateById
(
user
);
//先删后加
sysUserRoleMapper
.
delete
(
new
QueryWrapper
<
SysUserRole
>().
lambda
().
eq
(
SysUserRole:
:
getUserId
,
user
.
getId
()));
if
(
oConvertUtils
.
isNotEmpty
(
roles
))
{
if
(
oConvertUtils
.
isNotEmpty
(
roles
))
{
String
[]
arr
=
roles
.
split
(
","
);
for
(
String
roleId
:
arr
)
{
SysUserRole
userRole
=
new
SysUserRole
(
user
.
getId
(),
roleId
);
...
...
@@ -266,17 +266,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 获取动态首页路由配置
*
* @param username
* @param version
* @return
*/
@Override
public
SysRoleIndex
getDynamicIndexByUserRole
(
String
username
,
String
version
)
{
public
SysRoleIndex
getDynamicIndexByUserRole
(
String
username
,
String
version
)
{
List
<
String
>
roles
=
sysUserRoleMapper
.
getRoleByUserName
(
username
);
String
componentUrl
=
RoleIndexConfigEnum
.
getIndexByRoles
(
roles
);
SysRoleIndex
roleIndex
=
new
SysRoleIndex
(
componentUrl
);
//只有 X-Version=v3 的时候,才读取sys_role_index表获取角色首页配置
if
(
oConvertUtils
.
isNotEmpty
(
version
)
&&
roles
!=
null
&&
roles
.
size
()>
0
)
{
if
(
oConvertUtils
.
isNotEmpty
(
version
)
&&
roles
!=
null
&&
roles
.
size
()
>
0
)
{
LambdaQueryWrapper
<
SysRoleIndex
>
routeIndexQuery
=
new
LambdaQueryWrapper
();
//用户所有角色
routeIndexQuery
.
in
(
SysRoleIndex:
:
getRoleCode
,
roles
);
...
...
@@ -291,7 +292,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
//如果componentUrl为空,则返回空
if
(
oConvertUtils
.
isEmpty
(
roleIndex
.
getComponent
()))
{
if
(
oConvertUtils
.
isEmpty
(
roleIndex
.
getComponent
()))
{
return
null
;
}
return
roleIndex
;
...
...
@@ -299,6 +300,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 通过用户名获取用户角色集合
*
* @param username 用户名
* @return 角色集合
*/
...
...
@@ -329,28 +331,29 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
permissionSet
.
add
(
po
.
getPerms
());
}
}
log
.
info
(
"-------通过数据库读取用户拥有的权限Perms------username: "
+
username
+
",Perms size: "
+
(
permissionSet
==
null
?
0
:
permissionSet
.
size
())
);
log
.
info
(
"-------通过数据库读取用户拥有的权限Perms------username: "
+
username
+
",Perms size: "
+
(
permissionSet
==
null
?
0
:
permissionSet
.
size
())
);
return
permissionSet
;
}
/**
* 升级SpringBoot2.6.6,不允许循环依赖
* @author:qinfeng
* @update: 2022-04-07
*
* @param username
* @return
* @author:qinfeng
* @update: 2022-04-07
*/
@Override
public
SysUserCacheInfo
getCacheUser
(
String
username
)
{
SysUserCacheInfo
info
=
new
SysUserCacheInfo
();
info
.
setOneDepart
(
true
);
if
(
oConvertUtils
.
isEmpty
(
username
))
{
if
(
oConvertUtils
.
isEmpty
(
username
))
{
return
null
;
}
//查询用户信息
SysUser
sysUser
=
userMapper
.
getUserByName
(
username
);
if
(
sysUser
!=
null
)
{
if
(
sysUser
!=
null
)
{
info
.
setSysUserCode
(
sysUser
.
getUsername
());
info
.
setSysUserName
(
sysUser
.
getRealname
());
info
.
setSysOrgCode
(
sysUser
.
getOrgCode
());
...
...
@@ -359,12 +362,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//多部门支持in查询
List
<
SysDepart
>
list
=
sysDepartMapper
.
queryUserDeparts
(
sysUser
.
getId
());
List
<
String
>
sysMultiOrgCode
=
new
ArrayList
<
String
>();
if
(
list
==
null
||
list
.
size
()==
0
)
{
if
(
list
==
null
||
list
.
size
()
==
0
)
{
//当前用户无部门
//sysMultiOrgCode.add("0");
}
else
if
(
list
.
size
()==
1
)
{
}
else
if
(
list
.
size
()
==
1
)
{
sysMultiOrgCode
.
add
(
list
.
get
(
0
).
getOrgCode
());
}
else
{
}
else
{
info
.
setOneDepart
(
false
);
for
(
SysDepart
dpt
:
list
)
{
sysMultiOrgCode
.
add
(
dpt
.
getOrgCode
());
...
...
@@ -377,19 +380,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 根据部门Id查询
*
* @param page
* @param departId 部门id
* @param username 用户账户名称
* @return
*/
@Override
public
IPage
<
SysUser
>
getUserByDepId
(
Page
<
SysUser
>
page
,
String
departId
,
String
username
)
{
return
userMapper
.
getUserByDepId
(
page
,
departId
,
username
);
public
IPage
<
SysUser
>
getUserByDepId
(
Page
<
SysUser
>
page
,
String
departId
,
String
username
)
{
return
userMapper
.
getUserByDepId
(
page
,
departId
,
username
);
}
@Override
public
IPage
<
SysUser
>
getUserByDepIds
(
Page
<
SysUser
>
page
,
List
<
String
>
departIds
,
String
username
)
{
return
userMapper
.
getUserByDepIds
(
page
,
departIds
,
username
);
return
userMapper
.
getUserByDepIds
(
page
,
departIds
,
username
);
}
@Override
...
...
@@ -433,6 +437,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 根据角色Id查询
*
* @param page
* @param roleId 角色id
* @param username 用户账户名称
...
...
@@ -440,14 +445,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
*/
@Override
public
IPage
<
SysUser
>
getUserByRoleId
(
Page
<
SysUser
>
page
,
String
roleId
,
String
username
)
{
return
userMapper
.
getUserByRoleId
(
page
,
roleId
,
username
);
return
userMapper
.
getUserByRoleId
(
page
,
roleId
,
username
);
}
@Override
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
key
=
"#username"
)
public
void
updateUserDepart
(
String
username
,
String
orgCode
,
Integer
loginTenantId
)
{
baseMapper
.
updateUserDepart
(
username
,
orgCode
,
loginTenantId
);
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
key
=
"#username"
)
public
void
updateUserDepart
(
String
username
,
String
orgCode
,
Integer
loginTenantId
)
{
baseMapper
.
updateUserDepart
(
username
,
orgCode
,
loginTenantId
);
}
...
...
@@ -466,7 +471,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addUserWithDepart
(
SysUser
user
,
String
selectedParts
)
{
// this.save(user); //保存角色的时候已经添加过一次了
if
(
oConvertUtils
.
isNotEmpty
(
selectedParts
))
{
if
(
oConvertUtils
.
isNotEmpty
(
selectedParts
))
{
String
[]
arr
=
selectedParts
.
split
(
","
);
for
(
String
deaprtId
:
arr
)
{
SysUserDepart
userDeaprt
=
new
SysUserDepart
(
user
.
getId
(),
deaprtId
);
...
...
@@ -478,33 +483,33 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
public
void
editUserWithDepart
(
SysUser
user
,
String
departs
)
{
//更新角色的时候已经更新了一次了,可以再跟新一次
this
.
updateById
(
user
);
String
[]
arr
=
{};
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
arr
=
departs
.
split
(
","
);
}
//查询已关联部门
List
<
SysUserDepart
>
userDepartList
=
sysUserDepartMapper
.
selectList
(
new
QueryWrapper
<
SysUserDepart
>().
lambda
().
eq
(
SysUserDepart:
:
getUserId
,
user
.
getId
()));
if
(
userDepartList
!=
null
&&
userDepartList
.
size
()>
0
)
{
for
(
SysUserDepart
depart
:
userDepartList
)
{
if
(
userDepartList
!=
null
&&
userDepartList
.
size
()
>
0
)
{
for
(
SysUserDepart
depart
:
userDepartList
)
{
//修改已关联部门删除部门用户角色关系
if
(!
Arrays
.
asList
(
arr
).
contains
(
depart
.
getDepId
()))
{
if
(!
Arrays
.
asList
(
arr
).
contains
(
depart
.
getDepId
()))
{
List
<
SysDepartRole
>
sysDepartRoleList
=
sysDepartRoleMapper
.
selectList
(
new
QueryWrapper
<
SysDepartRole
>().
lambda
().
eq
(
SysDepartRole:
:
getDepartId
,
depart
.
getDepId
()));
new
QueryWrapper
<
SysDepartRole
>().
lambda
().
eq
(
SysDepartRole:
:
getDepartId
,
depart
.
getDepId
()));
List
<
String
>
roleIds
=
sysDepartRoleList
.
stream
().
map
(
SysDepartRole:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
roleIds
!=
null
&&
roleIds
.
size
()>
0
)
{
if
(
roleIds
!=
null
&&
roleIds
.
size
()
>
0
)
{
departRoleUserMapper
.
delete
(
new
QueryWrapper
<
SysDepartRoleUser
>().
lambda
().
eq
(
SysDepartRoleUser:
:
getUserId
,
user
.
getId
())
.
in
(
SysDepartRoleUser:
:
getDroleId
,
roleIds
));
.
in
(
SysDepartRoleUser:
:
getDroleId
,
roleIds
));
}
}
}
}
//先删后加
sysUserDepartMapper
.
delete
(
new
QueryWrapper
<
SysUserDepart
>().
lambda
().
eq
(
SysUserDepart:
:
getUserId
,
user
.
getId
()));
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
for
(
String
departId
:
arr
)
{
SysUserDepart
userDepart
=
new
SysUserDepart
(
user
.
getId
(),
departId
);
sysUserDepartMapper
.
insert
(
userDepart
);
...
...
@@ -515,6 +520,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 校验用户是否有效
*
* @param sysUser
* @return
*/
...
...
@@ -523,7 +529,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
Result
<?>
result
=
new
Result
<
Object
>();
//情况1:根据用户信息查询,该用户不存在
if
(
sysUser
==
null
)
{
result
.
error500
(
"该用户不存在,请注册
"
);
result
.
error500
(
"该用户不存在
"
);
baseCommonService
.
addLog
(
"用户登录失败,用户不存在!"
,
CommonConstant
.
LOG_TYPE_1
,
null
);
return
result
;
}
...
...
@@ -563,7 +569,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
public
boolean
revertLogicDeleted
(
List
<
String
>
userIds
,
SysUser
updateEntity
)
{
return
userMapper
.
revertLogicDeleted
(
userIds
,
updateEntity
)
>
0
;
}
...
...
@@ -588,7 +594,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
line
+=
sysThirdAccountMapper
.
delete
(
new
LambdaQueryWrapper
<
SysThirdAccount
>().
in
(
SysThirdAccount:
:
getSysUserId
,
userIds
));
//6. 删除租户用户中间表的数据
line
+=
userTenantMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserTenant
>().
in
(
SysUserTenant:
:
getUserId
,
userIds
));
line
+=
userTenantMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserTenant
>().
in
(
SysUserTenant:
:
getUserId
,
userIds
));
return
line
!=
0
;
}
...
...
@@ -618,7 +624,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
public
List
<
SysUser
>
queryByDepIds
(
List
<
String
>
departIds
,
String
username
)
{
return
userMapper
.
queryByDepIds
(
departIds
,
username
);
return
userMapper
.
queryByDepIds
(
departIds
,
username
);
}
@Override
...
...
@@ -627,9 +633,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//step.1 保存用户
this
.
save
(
user
);
//获取用户保存前台传过来的租户id并添加到租户
this
.
saveUserTenant
(
user
.
getId
(),
relTenantIds
);
this
.
saveUserTenant
(
user
.
getId
(),
relTenantIds
);
//step.2 保存角色
if
(
oConvertUtils
.
isNotEmpty
(
selectedRoles
))
{
if
(
oConvertUtils
.
isNotEmpty
(
selectedRoles
))
{
String
[]
arr
=
selectedRoles
.
split
(
","
);
for
(
String
roleId
:
arr
)
{
SysUserRole
userRole
=
new
SysUserRole
(
user
.
getId
(),
roleId
);
...
...
@@ -638,7 +644,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
//step.3 保存所属部门
if
(
oConvertUtils
.
isNotEmpty
(
selectedDeparts
))
{
if
(
oConvertUtils
.
isNotEmpty
(
selectedDeparts
))
{
String
[]
arr
=
selectedDeparts
.
split
(
","
);
for
(
String
deaprtId
:
arr
)
{
SysUserDepart
userDeaprt
=
new
SysUserDepart
(
user
.
getId
(),
deaprtId
);
...
...
@@ -647,23 +653,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
//触发入职流程
LoginUser
userInfo
=
new
LoginUser
();
BeanUtils
.
copyProperties
(
user
,
userInfo
);
LoginUser
userInfo
=
new
LoginUser
();
BeanUtils
.
copyProperties
(
user
,
userInfo
);
LoginUser
loginUser
=
(
LoginUser
)
SecurityUtils
.
getSubject
().
getPrincipal
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
public
void
editUser
(
SysUser
user
,
String
roles
,
String
departs
,
String
relTenantIds
)
{
//获取用户编辑前台传过来的租户id
this
.
editUserTenants
(
user
.
getId
(),
relTenantIds
);
this
.
editUserTenants
(
user
.
getId
(),
relTenantIds
);
//step.1 修改用户基础信息
this
.
updateById
(
user
);
//step.2 修改角色
//处理用户角色 先删后加
sysUserRoleMapper
.
delete
(
new
QueryWrapper
<
SysUserRole
>().
lambda
().
eq
(
SysUserRole:
:
getUserId
,
user
.
getId
()));
if
(
oConvertUtils
.
isNotEmpty
(
roles
))
{
if
(
oConvertUtils
.
isNotEmpty
(
roles
))
{
String
[]
arr
=
roles
.
split
(
","
);
for
(
String
roleId
:
arr
)
{
SysUserRole
userRole
=
new
SysUserRole
(
user
.
getId
(),
roleId
);
...
...
@@ -673,28 +679,28 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//step.3 修改部门
String
[]
arr
=
{};
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
arr
=
departs
.
split
(
","
);
}
//查询已关联部门
List
<
SysUserDepart
>
userDepartList
=
sysUserDepartMapper
.
selectList
(
new
QueryWrapper
<
SysUserDepart
>().
lambda
().
eq
(
SysUserDepart:
:
getUserId
,
user
.
getId
()));
if
(
userDepartList
!=
null
&&
userDepartList
.
size
()>
0
)
{
for
(
SysUserDepart
depart
:
userDepartList
)
{
if
(
userDepartList
!=
null
&&
userDepartList
.
size
()
>
0
)
{
for
(
SysUserDepart
depart
:
userDepartList
)
{
//修改已关联部门删除部门用户角色关系
if
(!
Arrays
.
asList
(
arr
).
contains
(
depart
.
getDepId
()))
{
if
(!
Arrays
.
asList
(
arr
).
contains
(
depart
.
getDepId
()))
{
List
<
SysDepartRole
>
sysDepartRoleList
=
sysDepartRoleMapper
.
selectList
(
new
QueryWrapper
<
SysDepartRole
>().
lambda
().
eq
(
SysDepartRole:
:
getDepartId
,
depart
.
getDepId
()));
new
QueryWrapper
<
SysDepartRole
>().
lambda
().
eq
(
SysDepartRole:
:
getDepartId
,
depart
.
getDepId
()));
List
<
String
>
roleIds
=
sysDepartRoleList
.
stream
().
map
(
SysDepartRole:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
roleIds
!=
null
&&
roleIds
.
size
()>
0
)
{
if
(
roleIds
!=
null
&&
roleIds
.
size
()
>
0
)
{
departRoleUserMapper
.
delete
(
new
QueryWrapper
<
SysDepartRoleUser
>().
lambda
().
eq
(
SysDepartRoleUser:
:
getUserId
,
user
.
getId
())
.
in
(
SysDepartRoleUser:
:
getDroleId
,
roleIds
));
.
in
(
SysDepartRoleUser:
:
getDroleId
,
roleIds
));
}
}
}
}
//先删后加
sysUserDepartMapper
.
delete
(
new
QueryWrapper
<
SysUserDepart
>().
lambda
().
eq
(
SysUserDepart:
:
getUserId
,
user
.
getId
()));
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
if
(
oConvertUtils
.
isNotEmpty
(
departs
))
{
for
(
String
departId
:
arr
)
{
SysUserDepart
userDepart
=
new
SysUserDepart
(
user
.
getId
(),
departId
);
sysUserDepartMapper
.
insert
(
userDepart
);
...
...
@@ -716,17 +722,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@Cacheable
(
cacheNames
=
CacheConstant
.
SYS_USERS_CACHE
,
key
=
"#username"
)
@Cacheable
(
cacheNames
=
CacheConstant
.
SYS_USERS_CACHE
,
key
=
"#username"
)
@SensitiveEncode
public
LoginUser
getEncodeUserInfo
(
String
username
)
{
if
(
oConvertUtils
.
isEmpty
(
username
))
{
public
LoginUser
getEncodeUserInfo
(
String
username
)
{
if
(
oConvertUtils
.
isEmpty
(
username
))
{
return
null
;
}
LoginUser
loginUser
=
new
LoginUser
();
SysUser
sysUser
=
userMapper
.
getUserByName
(
username
);
//查询用户的租户ids
this
.
setUserTenantIds
(
sysUser
);
if
(
sysUser
==
null
)
{
if
(
sysUser
==
null
)
{
return
null
;
}
BeanUtils
.
copyProperties
(
sysUser
,
loginUser
);
...
...
@@ -734,29 +740,29 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
@Override
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
userQuit
(
String
username
)
{
SysUser
sysUser
=
userMapper
.
getUserByName
(
username
);
if
(
null
==
sysUser
)
{
if
(
null
==
sysUser
)
{
throw
new
JeecgBootException
(
"离职失败,该用户已不存在"
);
}
//update-begin---author:wangshuai ---date:20230111 for:[QQYUN-3951]租户用户离职重构------------
int
tenantId
=
oConvertUtils
.
getInt
(
TenantContext
.
getTenant
(),
0
);
//更新用户租户表的状态为离职状态
if
(
tenantId
==
0
)
{
if
(
tenantId
==
0
)
{
throw
new
JeecgBootException
(
"离职失败,租户不存在"
);
}
LambdaQueryWrapper
<
SysUserTenant
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
SysUserTenant:
:
getUserId
,
sysUser
.
getId
());
query
.
eq
(
SysUserTenant:
:
getTenantId
,
tenantId
);
query
.
eq
(
SysUserTenant:
:
getUserId
,
sysUser
.
getId
());
query
.
eq
(
SysUserTenant:
:
getTenantId
,
tenantId
);
SysUserTenant
userTenant
=
new
SysUserTenant
();
userTenant
.
setStatus
(
CommonConstant
.
USER_TENANT_QUIT
);
userTenantMapper
.
update
(
userTenant
,
query
);
userTenantMapper
.
update
(
userTenant
,
query
);
//update-end---author:wangshuai ---date:20230111 for:[QQYUN-3951]租户用户离职重构------------
//触发离职流程
LoginUser
userInfo
=
new
LoginUser
();
BeanUtils
.
copyProperties
(
sysUser
,
userInfo
);
LoginUser
userInfo
=
new
LoginUser
();
BeanUtils
.
copyProperties
(
sysUser
,
userInfo
);
LoginUser
loginUser
=
(
LoginUser
)
SecurityUtils
.
getSubject
().
getPrincipal
();
}
...
...
@@ -767,22 +773,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
public
void
updateStatusAndFlag
(
List
<
String
>
userIds
,
SysUser
sysUser
)
{
userMapper
.
updateStatusAndFlag
(
userIds
,
sysUser
);
userMapper
.
updateStatusAndFlag
(
userIds
,
sysUser
);
}
/**
* 设置登录租户
*
* @param sysUser
* @return
*/
@Override
public
Result
<
JSONObject
>
setLoginTenant
(
SysUser
sysUser
,
JSONObject
obj
,
String
username
,
Result
<
JSONObject
>
result
)
{
public
Result
<
JSONObject
>
setLoginTenant
(
SysUser
sysUser
,
JSONObject
obj
,
String
username
,
Result
<
JSONObject
>
result
)
{
// update-begin--Author:sunjianlei Date:20210802 for:获取用户租户信息
//用户有哪些租户
List
<
SysTenant
>
tenantList
=
null
;
//update-begin---author:wangshuai ---date:20221223 for:[QQYUN-3371]租户逻辑改造,改成关系表------------
List
<
Integer
>
tenantIdList
=
relationMapper
.
getTenantIdsNoStatus
(
sysUser
.
getId
());
if
(
null
!=
tenantIdList
&&
tenantIdList
.
size
()>
0
)
{
if
(
null
!=
tenantIdList
&&
tenantIdList
.
size
()
>
0
)
{
//update-end---author:wangshuai ---date:20221223 for:[QQYUN-3371]租户逻辑改造,改成关系表--------------
//-------------------------------------------------------------------------------------
//查询有效的租户集合
...
...
@@ -817,11 +824,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
sysUser
.
setLoginTenantId
(
0
);
}
//设置用户登录缓存租户
this
.
updateUserDepart
(
username
,
null
,
sysUser
.
getLoginTenantId
());
this
.
updateUserDepart
(
username
,
null
,
sysUser
.
getLoginTenantId
());
log
.
info
(
" 登录接口用户的租户ID = {}"
,
sysUser
.
getLoginTenantId
());
if
(
sysUser
.
getLoginTenantId
()!=
null
)
{
if
(
sysUser
.
getLoginTenantId
()
!=
null
)
{
//登录的时候需要手工设置下会话中的租户ID,不然登录接口无法通过租户隔离查询到数据
TenantContext
.
setTenant
(
sysUser
.
getLoginTenantId
()+
""
);
TenantContext
.
setTenant
(
sysUser
.
getLoginTenantId
()
+
""
);
}
return
null
;
}
...
...
@@ -829,14 +836,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 获取租户id
*
* @param sysUser
*/
private
void
setUserTenantIds
(
SysUser
sysUser
)
{
if
(
ObjectUtils
.
isNotEmpty
(
sysUser
))
{
if
(
ObjectUtils
.
isNotEmpty
(
sysUser
))
{
List
<
Integer
>
list
=
relationMapper
.
getTenantIdsNoStatus
(
sysUser
.
getId
());
if
(
null
!=
list
&&
list
.
size
()>
0
)
{
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
sysUser
.
setRelTenantIds
(
StringUtils
.
join
(
list
.
toArray
(),
","
));
}
else
{
}
else
{
sysUser
.
setRelTenantIds
(
""
);
}
}
...
...
@@ -844,6 +852,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 保存租户
*
* @param userId
* @param relTenantIds
*/
...
...
@@ -857,14 +866,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
relation
.
setStatus
(
CommonConstant
.
STATUS_1
);
relationMapper
.
insert
(
relation
);
}
}
else
{
}
else
{
//是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】
if
(
MybatisPlusSaasConfig
.
OPEN_SYSTEM_TENANT_CONTROL
)
{
//update-begin---author:wangshuai ---date:20230220 for:判断当前用户是否在当前租户里面,如果不存在在新增------------
String
tenantId
=
TenantContext
.
getTenant
();
if
(
oConvertUtils
.
isNotEmpty
(
tenantId
))
{
if
(
oConvertUtils
.
isNotEmpty
(
tenantId
))
{
Integer
count
=
relationMapper
.
userTenantIzExist
(
userId
,
Integer
.
parseInt
(
tenantId
));
if
(
count
==
0
)
{
if
(
count
==
0
)
{
SysUserTenant
relation
=
new
SysUserTenant
();
relation
.
setUserId
(
userId
);
relation
.
setTenantId
(
Integer
.
parseInt
(
tenantId
));
...
...
@@ -879,6 +888,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 编辑租户
*
* @param userId
* @param relTenantIds
*/
...
...
@@ -895,7 +905,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
this
.
saveUserTenant
(
userId
,
relTenantIds
);
}
else
{
//都不为空,需要比较,进行添加或删除
if
(
oConvertUtils
.
isNotEmpty
(
relTenantIds
)
&&
CollectionUtils
.
isNotEmpty
(
oldTenantIds
))
{
if
(
oConvertUtils
.
isNotEmpty
(
relTenantIds
)
&&
CollectionUtils
.
isNotEmpty
(
oldTenantIds
))
{
//找到新的租户id与原来的租户id不同之处,进行删除
String
[]
relTenantIdArray
=
relTenantIds
.
split
(
SymbolConstant
.
COMMA
);
List
<
String
>
relTenantIdList
=
Arrays
.
asList
(
relTenantIdArray
);
...
...
@@ -913,20 +923,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 删除租户通过用户id
*
* @param tenantId
* @param userId
*/
private
void
deleteTenantByUserId
(
String
userId
,
Integer
tenantId
)
{
private
void
deleteTenantByUserId
(
String
userId
,
Integer
tenantId
)
{
LambdaQueryWrapper
<
SysUserTenant
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
SysUserTenant:
:
getUserId
,
userId
);
if
(
oConvertUtils
.
isNotEmpty
(
tenantId
))
{
if
(
oConvertUtils
.
isNotEmpty
(
tenantId
))
{
query
.
eq
(
SysUserTenant:
:
getTenantId
,
tenantId
);
}
relationMapper
.
delete
(
query
);
}
@Override
public
void
batchEditUsers
(
JSONObject
json
)
{
String
userIds
=
json
.
getString
(
"userIds"
);
...
...
@@ -937,27 +947,27 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
String
post
=
json
.
getString
(
"post"
);
//工作地点? 没有这个字段
String
workAddress
=
json
.
getString
(
"workAddress"
);
if
(
oConvertUtils
.
isNotEmpty
(
post
))
{
if
(
oConvertUtils
.
isNotEmpty
(
post
))
{
LambdaUpdateWrapper
<
SysUser
>
updateWrapper
=
new
UpdateWrapper
<
SysUser
>().
lambda
()
.
in
(
SysUser:
:
getId
,
idList
)
.
set
(
SysUser:
:
getPost
,
post
);
this
.
update
(
updateWrapper
);
}
if
(
oConvertUtils
.
isNotEmpty
(
selecteddeparts
))
{
if
(
oConvertUtils
.
isNotEmpty
(
selecteddeparts
))
{
//查询当前租户的部门列表
Integer
currentTenantId
=
oConvertUtils
.
getInt
(
TenantContext
.
getTenant
(),
0
);
LambdaQueryWrapper
<
SysDepart
>
departQuery
=
new
LambdaQueryWrapper
<
SysDepart
>()
.
eq
(
SysDepart:
:
getTenantId
,
currentTenantId
);
List
<
SysDepart
>
departList
=
sysDepartMapper
.
selectList
(
departQuery
);
if
(
departList
==
null
||
departList
.
size
()==
0
)
{
log
.
error
(
"batchEditUsers 根据租户ID没有找到部门>"
+
currentTenantId
);
if
(
departList
==
null
||
departList
.
size
()
==
0
)
{
log
.
error
(
"batchEditUsers 根据租户ID没有找到部门>"
+
currentTenantId
);
return
;
}
List
<
String
>
departIdList
=
new
ArrayList
<
String
>();
for
(
SysDepart
depart:
departList
)
{
if
(
depart
!=
null
)
{
for
(
SysDepart
depart
:
departList
)
{
if
(
depart
!=
null
)
{
String
id
=
depart
.
getId
();
if
(
oConvertUtils
.
isNotEmpty
(
id
))
{
if
(
oConvertUtils
.
isNotEmpty
(
id
))
{
departIdList
.
add
(
id
);
}
}
...
...
@@ -972,7 +982,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//再新增
for
(
String
deaprtId
:
arr
)
{
for
(
String
userId:
idList
)
{
for
(
String
userId
:
idList
)
{
SysUserDepart
userDepart
=
new
SysUserDepart
(
userId
,
deaprtId
);
sysUserDepartMapper
.
insert
(
userDepart
);
}
...
...
@@ -983,34 +993,34 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
public
DepartAndUserInfo
searchByKeyword
(
String
keyword
)
{
DepartAndUserInfo
departAndUserInfo
=
new
DepartAndUserInfo
();
if
(
oConvertUtils
.
isNotEmpty
(
keyword
))
{
if
(
oConvertUtils
.
isNotEmpty
(
keyword
))
{
LambdaQueryWrapper
<
SysUser
>
query1
=
new
LambdaQueryWrapper
<
SysUser
>()
.
like
(
SysUser:
:
getRealname
,
keyword
);
String
str
=
oConvertUtils
.
getString
(
TenantContext
.
getTenant
(),
"0"
);
Integer
tenantId
=
Integer
.
valueOf
(
str
);
if
(
MybatisPlusSaasConfig
.
OPEN_SYSTEM_TENANT_CONTROL
)
{
if
(
MybatisPlusSaasConfig
.
OPEN_SYSTEM_TENANT_CONTROL
)
{
List
<
String
>
userIds
=
userTenantMapper
.
getUserIdsByTenantId
(
tenantId
);
if
(
oConvertUtils
.
listIsNotEmpty
(
userIds
))
{
query1
.
in
(
SysUser:
:
getId
,
userIds
);
}
else
{
}
else
{
query1
.
eq
(
SysUser:
:
getId
,
""
);
}
}
List
<
SysUser
>
list1
=
this
.
baseMapper
.
selectList
(
query1
);
if
(
list1
!=
null
&&
list1
.
size
()>
0
)
{
if
(
list1
!=
null
&&
list1
.
size
()
>
0
)
{
List
<
UserAvatar
>
userList
=
list1
.
stream
().
map
(
v
->
new
UserAvatar
(
v
)).
collect
(
Collectors
.
toList
());
departAndUserInfo
.
setUserList
(
userList
);
}
LambdaQueryWrapper
<
SysDepart
>
query2
=
new
LambdaQueryWrapper
<
SysDepart
>()
.
like
(
SysDepart:
:
getDepartName
,
keyword
);
if
(
MybatisPlusSaasConfig
.
OPEN_SYSTEM_TENANT_CONTROL
)
{
if
(
MybatisPlusSaasConfig
.
OPEN_SYSTEM_TENANT_CONTROL
)
{
query2
.
eq
(
SysDepart:
:
getTenantId
,
tenantId
);
}
List
<
SysDepart
>
list2
=
sysDepartMapper
.
selectList
(
query2
);
if
(
list2
!=
null
&&
list2
.
size
()>
0
)
{
if
(
list2
!=
null
&&
list2
.
size
()
>
0
)
{
List
<
DepartInfo
>
departList
=
new
ArrayList
<>();
for
(
SysDepart
depart:
list2
)
{
for
(
SysDepart
depart
:
list2
)
{
List
<
String
>
orgName
=
new
ArrayList
<>();
List
<
String
>
orgId
=
new
ArrayList
<>();
getParentDepart
(
depart
,
orgName
,
orgId
);
...
...
@@ -1029,10 +1039,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
public
UpdateDepartInfo
getUpdateDepartInfo
(
String
departId
)
{
SysDepart
depart
=
sysDepartMapper
.
selectById
(
departId
);
if
(
depart
!=
null
)
{
if
(
depart
!=
null
)
{
UpdateDepartInfo
info
=
new
UpdateDepartInfo
(
depart
);
List
<
SysDepart
>
subList
=
sysDepartMapper
.
queryDeptByPid
(
departId
);
if
(
subList
!=
null
&&
subList
.
size
()>
0
)
{
if
(
subList
!=
null
&&
subList
.
size
()
>
0
)
{
info
.
setHasSub
(
true
);
}
//获取部门负责人信息
...
...
@@ -1040,7 +1050,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
.
eq
(
SysUser:
:
getUserIdentity
,
2
)
.
like
(
SysUser:
:
getDepartIds
,
depart
.
getId
());
List
<
SysUser
>
userList
=
this
.
baseMapper
.
selectList
(
query
);
if
(
userList
!=
null
&&
userList
.
size
()>
0
)
{
if
(
userList
!=
null
&&
userList
.
size
()
>
0
)
{
List
<
String
>
idList
=
userList
.
stream
().
map
(
i
->
i
.
getId
()).
collect
(
Collectors
.
toList
());
info
.
setChargePersonList
(
idList
);
}
...
...
@@ -1053,12 +1063,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
public
void
doUpdateDepartInfo
(
UpdateDepartInfo
info
)
{
String
departId
=
info
.
getDepartId
();
SysDepart
depart
=
sysDepartMapper
.
selectById
(
departId
);
if
(
depart
!=
null
)
{
if
(
depart
!=
null
)
{
//修改部门信息-上级和部门名称
if
(!
depart
.
getParentId
().
equals
(
info
.
getParentId
()))
{
if
(!
depart
.
getParentId
().
equals
(
info
.
getParentId
()))
{
String
pid
=
info
.
getParentId
();
SysDepart
parentDepart
=
sysDepartMapper
.
selectById
(
pid
);
if
(
parentDepart
!=
null
)
{
if
(
parentDepart
!=
null
)
{
String
orgCode
=
getNextOrgCode
(
pid
);
depart
.
setOrgCode
(
orgCode
);
depart
.
setParentId
(
pid
);
...
...
@@ -1071,20 +1081,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
List
<
String
>
departChargeUserIdList
=
departChargeUsers
.
stream
().
map
(
i
->
i
.
getId
()).
collect
(
Collectors
.
toList
());
//修改部门负责人
List
<
String
>
userIdList
=
info
.
getChargePersonList
();
if
(
userIdList
!=
null
&&
userIdList
.
size
()>
0
)
{
for
(
String
userId:
userIdList
)
{
if
(
userIdList
!=
null
&&
userIdList
.
size
()
>
0
)
{
for
(
String
userId
:
userIdList
)
{
SysUser
user
=
this
.
baseMapper
.
selectById
(
userId
);
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
departChargeUserIdList
.
remove
(
user
.
getId
());
user
.
setUserIdentity
(
2
);
String
departIds
=
user
.
getDepartIds
();
if
(
oConvertUtils
.
isEmpty
(
departIds
))
{
if
(
oConvertUtils
.
isEmpty
(
departIds
))
{
user
.
setDepartIds
(
departId
);
}
else
{
}
else
{
List
<
String
>
list
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
departIds
.
split
(
","
)));
if
(
list
.
indexOf
(
departId
)>=
0
)
{
if
(
list
.
indexOf
(
departId
)
>=
0
)
{
continue
;
}
else
{
}
else
{
list
.
add
(
departId
);
String
newDepartIds
=
String
.
join
(
","
,
list
);
user
.
setDepartIds
(
newDepartIds
);
...
...
@@ -1094,9 +1104,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
}
//删除
for
(
String
chargeUserId:
departChargeUserIdList
)
{
for
(
SysUser
chargeUser:
departChargeUsers
)
{
if
(
chargeUser
.
getId
().
equals
(
chargeUserId
))
{
for
(
String
chargeUserId
:
departChargeUserIdList
)
{
for
(
SysUser
chargeUser
:
departChargeUsers
)
{
if
(
chargeUser
.
getId
().
equals
(
chargeUserId
))
{
String
departIds
=
chargeUser
.
getDepartIds
();
List
<
String
>
list
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
departIds
.
split
(
","
)));
list
.
remove
(
departId
);
...
...
@@ -1112,23 +1122,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
}
private
List
<
SysUser
>
queryDepartChargePersons
(
String
departId
)
{
private
List
<
SysUser
>
queryDepartChargePersons
(
String
departId
)
{
List
<
SysUser
>
result
=
new
ArrayList
<>();
LambdaQueryWrapper
<
SysUserDepart
>
query1
=
new
LambdaQueryWrapper
<
SysUserDepart
>()
.
eq
(
SysUserDepart:
:
getDepId
,
departId
);
List
<
SysUserDepart
>
list1
=
sysUserDepartMapper
.
selectList
(
query1
);
if
(
list1
!=
null
&&
list1
.
size
()>
0
)
{
if
(
list1
!=
null
&&
list1
.
size
()
>
0
)
{
List
<
String
>
userIdList
=
list1
.
stream
().
map
(
item
->
item
.
getUserId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
SysUser
>
query2
=
new
LambdaQueryWrapper
<
SysUser
>()
.
in
(
SysUser:
:
getId
,
userIdList
);
List
<
SysUser
>
userList
=
this
.
baseMapper
.
selectList
(
query2
);
if
(
userList
!=
null
&&
userList
.
size
()>
0
)
{
for
(
SysUser
user:
userList
)
{
if
(
userList
!=
null
&&
userList
.
size
()
>
0
)
{
for
(
SysUser
user
:
userList
)
{
Integer
identity
=
user
.
getUserIdentity
();
String
deps
=
user
.
getDepartIds
();
if
(
identity
!=
null
&&
identity
==
2
)
{
if
(
oConvertUtils
.
isNotEmpty
(
deps
))
{
if
(
deps
.
indexOf
(
departId
)>=
0
)
{
if
(
identity
!=
null
&&
identity
==
2
)
{
if
(
oConvertUtils
.
isNotEmpty
(
deps
))
{
if
(
deps
.
indexOf
(
departId
)
>=
0
)
{
result
.
add
(
user
);
}
}
...
...
@@ -1141,12 +1151,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 变更父级部门 修改编码
*
* @param parentId
* @return
*/
private
String
getNextOrgCode
(
String
parentId
)
{
private
String
getNextOrgCode
(
String
parentId
)
{
JSONObject
formData
=
new
JSONObject
();
formData
.
put
(
"parentId"
,
parentId
);
formData
.
put
(
"parentId"
,
parentId
);
String
[]
codeArray
=
(
String
[])
FillRuleUtil
.
executeRule
(
FillRuleConstant
.
DEPART
,
formData
);
return
codeArray
[
0
];
}
...
...
@@ -1157,36 +1168,36 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
String
departId
=
json
.
getString
(
"departId"
);
boolean
status
=
json
.
getBoolean
(
"status"
);
SysUser
user
=
this
.
getById
(
userId
);
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
String
ids
=
user
.
getDepartIds
();
if
(
status
==
true
)
{
if
(
status
==
true
)
{
//设置部门负责人
if
(
oConvertUtils
.
isEmpty
(
ids
))
{
if
(
oConvertUtils
.
isEmpty
(
ids
))
{
user
.
setDepartIds
(
departId
);
}
else
{
}
else
{
List
<
String
>
list
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
ids
.
split
(
","
)));
if
(
list
.
indexOf
(
departId
)>=
0
)
{
if
(
list
.
indexOf
(
departId
)
>=
0
)
{
//啥也不干
}
else
{
}
else
{
list
.
add
(
departId
);
String
newIds
=
String
.
join
(
","
,
list
);
user
.
setDepartIds
(
newIds
);
}
}
}
else
{
}
else
{
// 取消负责人
if
(
oConvertUtils
.
isNotEmpty
(
ids
))
{
if
(
oConvertUtils
.
isNotEmpty
(
ids
))
{
List
<
String
>
list
=
new
ArrayList
<
String
>();
for
(
String
temp:
ids
.
split
(
","
))
{
if
(
oConvertUtils
.
isEmpty
(
temp
))
{
for
(
String
temp
:
ids
.
split
(
","
))
{
if
(
oConvertUtils
.
isEmpty
(
temp
))
{
continue
;
}
if
(!
temp
.
equals
(
departId
))
{
if
(!
temp
.
equals
(
departId
))
{
list
.
add
(
temp
);
}
}
String
newIds
=
""
;
if
(
list
.
size
()>
0
)
{
if
(
list
.
size
()
>
0
)
{
newIds
=
String
.
join
(
","
,
list
);
}
user
.
setDepartIds
(
newIds
);
...
...
@@ -1198,15 +1209,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 找上级部门
*
* @param depart
* @param orgName
* @param orgId
*/
private
void
getParentDepart
(
SysDepart
depart
,
List
<
String
>
orgName
,
List
<
String
>
orgId
)
{
private
void
getParentDepart
(
SysDepart
depart
,
List
<
String
>
orgName
,
List
<
String
>
orgId
)
{
String
pid
=
depart
.
getParentId
();
orgName
.
add
(
0
,
depart
.
getDepartName
());
orgId
.
add
(
0
,
depart
.
getId
());
if
(
oConvertUtils
.
isNotEmpty
(
pid
))
{
if
(
oConvertUtils
.
isNotEmpty
(
pid
))
{
SysDepart
temp
=
sysDepartMapper
.
selectById
(
pid
);
getParentDepart
(
temp
,
orgName
,
orgId
);
}
...
...
@@ -1214,7 +1226,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@CacheEvict
(
value
={
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
@CacheEvict
(
value
=
{
CacheConstant
.
SYS_USERS_CACHE
},
allEntries
=
true
)
public
void
editTenantUser
(
SysUser
sysUser
,
String
tenantId
,
String
departs
,
String
roles
)
{
SysUser
user
=
new
SysUser
();
user
.
setWorkNo
(
sysUser
.
getWorkNo
());
...
...
@@ -1227,6 +1239,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
/**
* 修改租户下的部门
*
* @param departs
*/
public
void
updateTenantDepart
(
SysUser
user
,
String
tenantId
,
String
departs
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment