diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index fc1b99c337..3d9356e50b 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -105,7 +105,7 @@ public class DataSetTableController { @ApiOperation("带权限查询") @PostMapping("getWithPermission/{id}") public DataSetTableDTO getWithPermission(@PathVariable String id) { - return dataSetTableService.getWithPermission(id); + return dataSetTableService.getWithPermission(id, null); } @ApiOperation("查询原始字段") diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index e7b266c21e..828c206dc3 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -248,7 +248,7 @@ public class ChartViewService { DatasetTableField datasetTableFieldObj = DatasetTableField.builder().tableId(view.getTableId()).checked(Boolean.TRUE).build(); List fields = dataSetTableFieldsService.list(datasetTableFieldObj); // 获取数据集,需校验权限 - DataSetTableDTO table = dataSetTableService.getWithPermission(view.getTableId()); + DataSetTableDTO table = dataSetTableService.getWithPermission(view.getTableId(), requestList.getUser()); checkPermission("use", table, requestList.getUser()); //列权限 diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 469583ad43..e2fc21d256 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -2,6 +2,8 @@ package io.dataease.service.dataset; import com.google.gson.Gson; import io.dataease.auth.annotation.DeCleaner; +import io.dataease.auth.api.dto.CurrentUserDto; +import io.dataease.auth.entity.SysUserEntity; import io.dataease.base.domain.*; import io.dataease.base.mapper.*; import io.dataease.base.mapper.ext.ExtDataSetGroupMapper; @@ -401,10 +403,13 @@ public class DataSetTableService { return datasetTableMapper.selectByPrimaryKey(id); } - public DataSetTableDTO getWithPermission(String id) { + public DataSetTableDTO getWithPermission(String id, Long user) { + CurrentUserDto currentUserDto = AuthUtils.getUser(); + Long userId = user != null ? currentUserDto.getUserId() : user; + DataSetTableRequest dataSetTableRequest = new DataSetTableRequest(); dataSetTableRequest.setId(id); - dataSetTableRequest.setUserId(String.valueOf(AuthUtils.getUser().getUserId())); + dataSetTableRequest.setUserId(String.valueOf(userId)); dataSetTableRequest.setTypeFilter(dataSetTableRequest.getTypeFilter()); return extDataSetTableMapper.searchOne(dataSetTableRequest); }