fix: 数据集列权限

This commit is contained in:
taojinlong 2022-01-23 14:29:54 +08:00
parent 3c4d74314d
commit 10bab20b12
6 changed files with 22 additions and 4 deletions

View File

@ -61,6 +61,15 @@ public class DataSetTableFieldController {
return fields;
}
@ApiOperation("查询表下属字段")
@PostMapping("listForPermissionSeting/{tableId}")
public List<DatasetTableField> listForPermissionSeting(@PathVariable String tableId) {
DatasetTableField datasetTableField = DatasetTableField.builder().build();
datasetTableField.setTableId(tableId);
List<DatasetTableField> fields = dataSetTableFieldsService.list(datasetTableField);
return fields;
}
@ApiOperation("分组查询表下属字段")
@PostMapping("listByDQ/{tableId}")
public DatasetTableField4Type listByDQ(@PathVariable String tableId) {

View File

@ -38,14 +38,14 @@ public class ColumnPermissionsController {
List<DataSetColumnPermissionsDTO> columnPermissionsDTOS = columnPermissionService.searchPermissions(request);
if(StringUtils.isEmpty(datasetColumnPermissions.getId())){
if(!CollectionUtils.isEmpty(columnPermissionsDTOS)){
throw new Exception(Translator.get("i18n_rp_exist"));
throw new Exception(Translator.get("i18n_cp_exist"));
}
}else {
if(!CollectionUtils.isEmpty(columnPermissionsDTOS) && columnPermissionsDTOS.size() > 1){
throw new Exception(Translator.get("i18n_rp_exist"));
throw new Exception(Translator.get("i18n_cp_exist"));
}
if(columnPermissionsDTOS.size() == 1 && !columnPermissionsDTOS.get(0).getId().equalsIgnoreCase(datasetColumnPermissions.getId())){
throw new Exception(Translator.get("i18n_rp_exist"));
throw new Exception(Translator.get("i18n_cp_exist"));
}
}
columnPermissionService.save(datasetColumnPermissions);

View File

@ -459,6 +459,12 @@ public class DataSetTableService {
//列权限
List<String> desensitizationList = new ArrayList<>();
fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), null);
if (CollectionUtils.isEmpty(fields)) {
map.put("fields", fields);
map.put("data", new ArrayList<>());
map.put("page", new DataSetPreviewPage());
return map;
}
//行权限
List<ChartFieldCustomFilterDTO> customFilter = permissionService.getCustomFilters(fields, datasetTable, null);
String[] fieldArray = fields.stream().map(DatasetTableField::getDataeaseName).toArray(String[]::new);

View File

@ -115,3 +115,4 @@ i18n_invalid_ds=Invalid Datasource
i18n_rp_exist=Row permission of the same type already exists
i18n_field_name_repeat=Field name can't repeat
i18n_calc_field_error=Field expression error
i18n_cp_exist=Column permission of the same type already exists

View File

@ -114,3 +114,4 @@ i18n_invalid_ds=无效数据源
i18n_rp_exist=已有同类型的行权限存在
i18n_field_name_repeat=字段名不能重复
i18n_calc_field_error=字段表达式语法错误
i18n_cp_exist=已有同类型的列权限存在

View File

@ -112,6 +112,7 @@ i18n_invalid_ds=無效數據源
任务管理=任務管理
数据同步=數據同步
定时报告=定時報告
i18n_rp_exist=已有同類型行權限存在
i18n_rp_exist=已有同類型行權限存在
i18n_field_name_repeat=字段名不能重復
i18n_calc_field_error=字段表達式語法錯誤
i18n_cp_exist=已有同類型的列權限存在