|
@@ -431,16 +431,36 @@ public class WebGatewayImpl implements WebGateway {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void addRole(AddRoleParam param) {
|
|
public void addRole(AddRoleParam param) {
|
|
- //1.检查角色是否存在
|
|
|
|
- TblRole exist = tblRoleService.queryByRoleCode(param.getRoleCode());
|
|
|
|
- if (Objects.nonNull(exist)) {
|
|
|
|
- throw new BizException(ErrorEnum.ROLE_ALREADY_EXISTS.getErrorCode(), ErrorEnum.ROLE_ALREADY_EXISTS.getErrorMessage());
|
|
|
|
|
|
+
|
|
|
|
+ String userType = (String) StpUtil.getSession().get(UserConstants.SA_USER_TYPE);
|
|
|
|
+ Long tenantId = (Long) StpUtil.getSession().get(UserConstants.SA_USER_TENANT_ID);
|
|
|
|
+ if (AdminUserType.getBgManagerTypes().contains(userType)) {
|
|
|
|
+ tenantId = param.getTenantId();
|
|
}
|
|
}
|
|
|
|
|
|
- //2.保存角色信息
|
|
|
|
- TblRole role = CopyUtils.copy(param, TblRole.class);
|
|
|
|
- role.setIsDeleted(BasePO.DeleteFlag.NOT_DELETED);
|
|
|
|
- tblRoleService.save(role);
|
|
|
|
|
|
+ if (param.getRoleId() == null) {
|
|
|
|
+ //1.检查角色是否存在
|
|
|
|
+ TblRole exist = tblRoleService.queryRole(tenantId, param.getRoleCode());
|
|
|
|
+ if (Objects.nonNull(exist)) {
|
|
|
|
+ throw new BizException(ErrorEnum.ROLE_ALREADY_EXISTS.getErrorCode(), ErrorEnum.ROLE_ALREADY_EXISTS.getErrorMessage());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //2.保存角色信息
|
|
|
|
+ TblRole role = CopyUtils.copy(param, TblRole.class);
|
|
|
|
+ role.setIsDeleted(BasePO.DeleteFlag.NOT_DELETED);
|
|
|
|
+ tblRoleService.save(role);
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ // 检测角色 code name 是否重复
|
|
|
|
+ TblRole exist = tblRoleService.queryRole(tenantId, param.getRoleCode(), param.getRoleName(), param.getRoleId());
|
|
|
|
+ if (Objects.nonNull(exist)) {
|
|
|
|
+ throw new BizException(ErrorEnum.ROLE_ALREADY_EXISTS.getErrorCode(), ErrorEnum.ROLE_ALREADY_EXISTS.getErrorMessage());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ TblRole byId = tblRoleService.getById(param.getRoleId());
|
|
|
|
+ BeanUtils.copyProperties(param, byId);
|
|
|
|
+ tblRoleService.updateById(byId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -462,11 +482,18 @@ public class WebGatewayImpl implements WebGateway {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<RoleListDTO> roleList() {
|
|
public List<RoleListDTO> roleList() {
|
|
|
|
+
|
|
|
|
+ String userType = (String) StpUtil.getSession().get(UserConstants.SA_USER_TYPE);
|
|
|
|
+ Long tenantId = (Long) StpUtil.getSession().get(UserConstants.SA_USER_TENANT_ID);
|
|
|
|
+
|
|
// 1. 查询所有未被删除的角色
|
|
// 1. 查询所有未被删除的角色
|
|
LambdaQueryWrapper<TblRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<TblRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper
|
|
queryWrapper
|
|
.select(TblRole::getRoleId, TblRole::getRoleCode, TblRole::getRoleName)
|
|
.select(TblRole::getRoleId, TblRole::getRoleCode, TblRole::getRoleName)
|
|
.eq(TblRole::getIsDeleted, BasePO.DeleteFlag.NOT_DELETED);
|
|
.eq(TblRole::getIsDeleted, BasePO.DeleteFlag.NOT_DELETED);
|
|
|
|
+ if (tenantId != null) {
|
|
|
|
+ queryWrapper.eq(TblRole::getTenantId, tenantId);
|
|
|
|
+ }
|
|
|
|
|
|
// 2. 查询如果为空,则返回空集合
|
|
// 2. 查询如果为空,则返回空集合
|
|
List<TblRole> roleList = tblRoleService.list(queryWrapper);
|
|
List<TblRole> roleList = tblRoleService.list(queryWrapper);
|