|
@@ -87,17 +87,21 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
save(sysWorkUser);
|
|
|
List<Long> roleIds = addDto.getRoleIds();
|
|
|
if (CollUtil.isNotEmpty(roleIds)) {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectList(new LambdaQueryWrapper<SysRole>().in(SysRole::getId, roleIds));
|
|
|
+ JMap<Long, SysRole> sysRolesJMaps = new JArrayList<>(sysRoles).toMap(SysRole::getId).cover();
|
|
|
List<SysUserRole> sysUserRoleList = roleIds.stream().map(roleId -> new SysUserRole().createId()
|
|
|
- .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(addDto.getSysId())).collect(Collectors.toList());
|
|
|
+ .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(sysRolesJMaps.get(roleId).getSysId())).collect(Collectors.toList());
|
|
|
//保存用户角色绑定信息
|
|
|
sysUserRoleService.saveBatch(sysUserRoleList);
|
|
|
}
|
|
|
|
|
|
List<Long> deptIds = addDto.getDeptIds();
|
|
|
if (CollUtil.isNotEmpty(deptIds)) {
|
|
|
+ List<SysDept> sysDepts = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().in(SysDept::getId, deptIds));
|
|
|
+ JMap<Long, SysDept> sysDeptsJMaps = new JArrayList<>(sysDepts).toMap(SysDept::getId).cover();
|
|
|
//关联部门
|
|
|
List<SysUserDept> sysUserDeptList = deptIds.stream().map(deptId -> new SysUserDept().createId()
|
|
|
- .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(addDto.getSysId())).collect(Collectors.toList());
|
|
|
+ .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(sysDeptsJMaps.get(deptId).getSysId())).collect(Collectors.toList());
|
|
|
//保存用户部门 绑定信息
|
|
|
sysUserDeptService.saveBatch(sysUserDeptList);
|
|
|
}
|
|
@@ -146,23 +150,24 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
//更新角色信息
|
|
|
List<Long> roleIds = updateDto.getRoleIds();
|
|
|
if (CollUtil.isNotEmpty(roleIds)) {
|
|
|
- sysUserRoleService.remove(Wrappers.<SysUserRole>lambdaUpdate().eq(SysUserRole::getWorkUserId, sysWorkUser.getId())
|
|
|
- .eq(SysUserRole::getSysId, updateDto.getSysId()));
|
|
|
-
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectList(new LambdaQueryWrapper<SysRole>().in(SysRole::getId, roleIds));
|
|
|
+ JMap<Long, SysRole> sysRolesJMaps = new JArrayList<>(sysRoles).toMap(SysRole::getId).cover();
|
|
|
+ sysUserRoleService.remove(Wrappers.<SysUserRole>lambdaUpdate().eq(SysUserRole::getWorkUserId, sysWorkUser.getId()));
|
|
|
List<SysUserRole> sysUserRoleList = roleIds.stream().map(roleId -> new SysUserRole().createId()
|
|
|
- .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(updateDto.getSysId())).collect(Collectors.toList());
|
|
|
+ .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(sysRolesJMaps.get(roleId).getSysId())).collect(Collectors.toList());
|
|
|
//保存用户角色绑定信息
|
|
|
sysUserRoleService.saveBatch(sysUserRoleList);
|
|
|
}
|
|
|
//更新部门信息
|
|
|
List<Long> deptIds = updateDto.getDeptIds();
|
|
|
if (CollUtil.isNotEmpty(deptIds)) {
|
|
|
+ List<SysDept> sysDepts = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().in(SysDept::getId, deptIds));
|
|
|
+ JMap<Long, SysDept> sysDeptsJMaps = new JArrayList<>(sysDepts).toMap(SysDept::getId).cover();
|
|
|
sysUserDeptService.remove(Wrappers.<SysUserDept>lambdaUpdate()
|
|
|
- .eq(SysUserDept::getWorkUserId, sysWorkUser.getId())
|
|
|
- .eq(SysUserDept::getSysId, updateDto.getSysId()));
|
|
|
-
|
|
|
+ .eq(SysUserDept::getWorkUserId, sysWorkUser.getId()));
|
|
|
List<SysUserDept> newSysUserDeptList = deptIds.stream().map(deptId -> new SysUserDept().createId()
|
|
|
- .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(updateDto.getSysId())).collect(Collectors.toList());
|
|
|
+ .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(sysDeptsJMaps.get(deptId).getSysId())).collect(Collectors.toList());
|
|
|
+ //保存用户部门绑定信息
|
|
|
sysUserDeptService.saveBatch(newSysUserDeptList);
|
|
|
}
|
|
|
return R.ok(Boolean.TRUE);
|