feat: 仪表板分享以分享人查看数据

This commit is contained in:
taojinlong 2022-03-01 16:05:31 +08:00
parent df60372245
commit 8e528ebbaf
3 changed files with 14 additions and 50 deletions

View File

@ -1705,7 +1705,7 @@ public class ChartViewService {
throw new RuntimeException(Translator.get("i18n_dataset_delete"));
}
SysUserEntity user = AuthUtils.getUser();
user = user != null ? user : authUserService.getUserById(userId);
user = userId != null ? authUserService.getUserById(userId) : user;
if (!user.getIsAdmin()) {
if (ObjectUtils.isEmpty(table.getPrivileges()) || !table.getPrivileges().contains(needPermission)) {
throw new RuntimeException(Translator.get("i18n_dataset_no_permission"));

View File

@ -405,8 +405,7 @@ public class DataSetTableService {
public DataSetTableDTO getWithPermission(String id, Long user) {
CurrentUserDto currentUserDto = AuthUtils.getUser();
Long userId = currentUserDto != null ? currentUserDto.getUserId() : user;
Long userId = user != null ? user : currentUserDto.getUserId();
DataSetTableRequest dataSetTableRequest = new DataSetTableRequest();
dataSetTableRequest.setId(id);
dataSetTableRequest.setUserId(String.valueOf(userId));

View File

@ -94,37 +94,19 @@ public class PermissionService {
return new ArrayList<>();
}
RowPermissionService rowPermissionService = SpringContextUtil.getBean(RowPermissionService.class);
CurrentUserDto user = AuthUtils.getUser();
SysUserEntity userEntity = userId != null ? authUserService.getUserById(userId) : AuthUtils.getUser();
List<Long> roleIds = new ArrayList<>();
Long deptId = null;
if (user == null && userId == null) {
if (userEntity == null ) {
return datasetRowPermissions;
}
if (user != null && userId != null) {
if (userEntity.getIsAdmin()) {
return datasetRowPermissions;
}
if (user != null) {
if (user.getIsAdmin()) {
return datasetRowPermissions;
}
userId = user.getUserId();
deptId = user.getDeptId();
roleIds = user.getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList());
}
if (userId != null) {
SysUserEntity userEntity = authUserService.getUserById(userId);
if (userEntity.getIsAdmin()) {
return datasetRowPermissions;
}
deptId = userEntity.getDeptId();
roleIds = authUserService.roles(userId).stream().map(r -> Long.valueOf(r)).collect(Collectors.toList());
}
userId = userEntity.getUserId();
deptId = userEntity.getDeptId();
roleIds = authUserService.roles(userId).stream().map(r -> Long.valueOf(r)).collect(Collectors.toList());
DataSetRowPermissionsDTO dataSetRowPermissionsDTO = new DataSetRowPermissionsDTO();
dataSetRowPermissionsDTO.setDatasetId(datasetId);
dataSetRowPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId));
@ -146,36 +128,19 @@ public class PermissionService {
return new ArrayList<>();
}
ColumnPermissionService columnPermissionService = SpringContextUtil.getBean(ColumnPermissionService.class);
CurrentUserDto user = AuthUtils.getUser();
SysUserEntity userEntity = userId != null ? authUserService.getUserById(userId) : AuthUtils.getUser();
List<Long> roleIds = new ArrayList<>();
Long deptId = null;
if (user == null && userId == null) {
if (userEntity == null ) {
return datasetColumnPermissions;
}
if (user != null && userId != null) {
if (userEntity.getIsAdmin()) {
return datasetColumnPermissions;
}
if (user != null) {
if (user.getIsAdmin()) {
return datasetColumnPermissions;
}
userId = user.getUserId();
deptId = user.getDeptId();
roleIds = user.getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList());
}
if (userId != null) {
SysUserEntity userEntity = authUserService.getUserById(userId);
if (userEntity.getIsAdmin()) {
return datasetColumnPermissions;
}
deptId = userEntity.getDeptId();
roleIds = authUserService.roles(userId).stream().map(r -> Long.valueOf(r)).collect(Collectors.toList());
}
userId = userEntity.getUserId();
deptId = userEntity.getDeptId();
roleIds = authUserService.roles(userId).stream().map(r -> Long.valueOf(r)).collect(Collectors.toList());
DataSetColumnPermissionsDTO dataSetColumnPermissionsDTO = new DataSetColumnPermissionsDTO();
dataSetColumnPermissionsDTO.setDatasetId(datasetId);
dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId));