mirror of https://gitee.com/stylefeng/roses
【8.1.0】【role】更新用户角色绑定过程中,增加角色的类型和公司id
parent
8f2013dc8e
commit
0e12886b86
|
@ -60,4 +60,10 @@ public class SysRoleDTO {
|
||||||
@ChineseDescription("角色类型:10-系统角色,20-公司角色")
|
@ChineseDescription("角色类型:10-系统角色,20-公司角色")
|
||||||
private Integer roleType;
|
private Integer roleType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色所属公司id,当角色类型为20时传此值
|
||||||
|
*/
|
||||||
|
@ChineseDescription("角色所属公司id,当角色类型为20时传此值")
|
||||||
|
private Long roleCompanyId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,15 +67,12 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
||||||
// 清空已有的用户角色绑定
|
// 清空已有的用户角色绑定
|
||||||
this.removeRoleAlreadyBind(sysUserRoleRequest);
|
this.removeRoleAlreadyBind(sysUserRoleRequest);
|
||||||
|
|
||||||
// 重新绑定用户角色信息
|
// 获取角色的详情
|
||||||
Set<Long> roleIdList = sysUserRoleRequest.getRoleIdList();
|
Set<Long> roleIdList = sysUserRoleRequest.getRoleIdList();
|
||||||
ArrayList<SysUserRole> newUserRoles = new ArrayList<>();
|
List<SysRoleDTO> sysRoleDTOList = sysRoleServiceApi.getRolesByIds(new ArrayList<>(roleIdList));
|
||||||
for (Long newRoleId : roleIdList) {
|
|
||||||
SysUserRole sysUserRole = new SysUserRole();
|
// 重新绑定用户角色信息
|
||||||
sysUserRole.setUserId(sysUserRoleRequest.getUserId());
|
List<SysUserRole> newUserRoles = this.createUserRoleBinds(sysUserRoleRequest, roleIdList, sysRoleDTOList);
|
||||||
sysUserRole.setRoleId(newRoleId);
|
|
||||||
newUserRoles.add(sysUserRole);
|
|
||||||
}
|
|
||||||
this.saveBatch(newUserRoles);
|
this.saveBatch(newUserRoles);
|
||||||
|
|
||||||
// 发布修改用户绑定角色的事件
|
// 发布修改用户绑定角色的事件
|
||||||
|
@ -294,4 +291,34 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
||||||
return resultRoleIdList;
|
return resultRoleIdList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建用户角色的绑定
|
||||||
|
*
|
||||||
|
* @param sysUserRoleRequest 接口请求参数
|
||||||
|
* @param roleIdList 用户绑定的角色列表
|
||||||
|
* @param sysRoleDTOList 用来获取角色的公司id和角色类型,补充信息用
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2024-01-17 17:27
|
||||||
|
*/
|
||||||
|
private List<SysUserRole> createUserRoleBinds(SysUserRoleRequest sysUserRoleRequest, Set<Long> roleIdList, List<SysRoleDTO> sysRoleDTOList) {
|
||||||
|
List<SysUserRole> newUserRoles = new ArrayList<>();
|
||||||
|
for (Long newRoleId : roleIdList) {
|
||||||
|
SysUserRole sysUserRole = new SysUserRole();
|
||||||
|
sysUserRole.setUserId(sysUserRoleRequest.getUserId());
|
||||||
|
sysUserRole.setRoleId(newRoleId);
|
||||||
|
|
||||||
|
// 填充角色的类型和所属公司
|
||||||
|
for (SysRoleDTO sysRoleDTO : sysRoleDTOList) {
|
||||||
|
if (sysRoleDTO.getRoleId().equals(newRoleId)) {
|
||||||
|
sysUserRole.setRoleType(sysRoleDTO.getRoleType());
|
||||||
|
sysUserRole.setRoleCompanyId(sysRoleDTO.getRoleCompanyId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
newUserRoles.add(sysUserRole);
|
||||||
|
}
|
||||||
|
return newUserRoles;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -332,7 +332,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||||
|
|
||||||
LambdaQueryWrapper<SysRole> sysRoleLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysRole> sysRoleLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
sysRoleLambdaQueryWrapper.in(SysRole::getRoleId, roleIds);
|
sysRoleLambdaQueryWrapper.in(SysRole::getRoleId, roleIds);
|
||||||
sysRoleLambdaQueryWrapper.select(SysRole::getRoleName, SysRole::getRoleId, SysRole::getRoleCode);
|
sysRoleLambdaQueryWrapper.select(SysRole::getRoleName, SysRole::getRoleId, SysRole::getRoleCode, SysRole::getRoleType, SysRole::getRoleCompanyId);
|
||||||
List<SysRole> sysRoleList = this.list(sysRoleLambdaQueryWrapper);
|
List<SysRole> sysRoleList = this.list(sysRoleLambdaQueryWrapper);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(sysRoleList)) {
|
if (ObjectUtil.isEmpty(sysRoleList)) {
|
||||||
|
|
Loading…
Reference in New Issue