forked from github/dataease
fix(图表): 明细表脱敏字段未显示
This commit is contained in:
parent
349d98f2a4
commit
6633efd536
@ -104,10 +104,6 @@ public class ChartDataManage {
|
||||
DEException.throwException(ResultCode.DATA_IS_WRONG.code(), Translator.get("i18n_chart_not_handler") + ": " + view.getRender() + "," + view.getType());
|
||||
}
|
||||
|
||||
AxisFormatResult formatResult = chartHandler.formatAxis(view);
|
||||
var xAxis = formatResult.getAxisMap().get(ChartAxis.xAxis);
|
||||
var yAxis = formatResult.getAxisMap().get(ChartAxis.yAxis);
|
||||
|
||||
DatasetGroupInfoDTO table = datasetGroupManage.getDatasetGroupInfoDTO(view.getTableId(), null);
|
||||
if (table == null) {
|
||||
DEException.throwException(ResultCode.DATA_IS_WRONG.code(), Translator.get("i18n_no_ds"));
|
||||
@ -122,7 +118,6 @@ public class ChartDataManage {
|
||||
}
|
||||
|
||||
List<ChartViewFieldDTO> allFields = getAllChartFields(view);
|
||||
formatResult.getContext().put("allFields", allFields);
|
||||
// column permission
|
||||
Map<String, ColumnPermissionItem> desensitizationList = new HashMap<>();
|
||||
List<DatasetTableFieldDTO> columnPermissionFields = permissionManage.filterColumnPermissions(transFields(allFields), desensitizationList, table.getId(), chartExtRequest.getUser());
|
||||
@ -130,13 +125,18 @@ public class ChartDataManage {
|
||||
List<DataSetRowPermissionsTreeDTO> rowPermissionsTree = permissionManage.getRowPermissionsTree(table.getId(), chartExtRequest.getUser());
|
||||
//将没有权限的列删掉
|
||||
List<String> dataeaseNames = columnPermissionFields.stream().map(DatasetTableFieldDTO::getDataeaseName).collect(Collectors.toList());
|
||||
dataeaseNames.add("*");
|
||||
|
||||
AxisFormatResult formatResult = chartHandler.formatAxis(view);
|
||||
formatResult.getContext().put("desensitizationList", desensitizationList);
|
||||
var xAxis = formatResult.getAxisMap().get(ChartAxis.xAxis);
|
||||
var yAxis = formatResult.getAxisMap().get(ChartAxis.yAxis);
|
||||
formatResult.getContext().put("allFields", allFields);
|
||||
var axisMap = formatResult.getAxisMap();
|
||||
axisMap.forEach((axis, fields) -> {
|
||||
Iterator<ChartViewFieldDTO> iterator = fields.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
ChartViewFieldDTO fieldDTO = iterator.next();
|
||||
if (desensitizationList.containsKey(fieldDTO.getDataeaseName()) || !dataeaseNames.contains(fieldDTO.getDataeaseName())) {
|
||||
if (!dataeaseNames.contains(fieldDTO.getDataeaseName())) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
@ -356,7 +356,6 @@ public class ChartDataManage {
|
||||
filterResult.getContext().put("querySql", querySql);
|
||||
}
|
||||
ChartCalcDataResult calcResult = chartHandler.calcChartResult(view, formatResult, filterResult, sqlMap, sqlMeta, calciteProvider);
|
||||
formatResult.getContext().put("desensitizationList", desensitizationList);
|
||||
return chartHandler.buildChart(view, calcResult, formatResult, filterResult);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user