perf: 对接 SQLBot 列权限失效

This commit is contained in:
fit2cloud-chenyw
2025-09-12 11:29:46 +08:00
committed by fit2cloud-chenyw
parent 835b544034
commit 836db3f8dc

View File

@@ -113,7 +113,7 @@ public class DatasetSQLBotManage {
DataSetColumnPermissionsDTO dataSetColumnPermissionsDTO = new DataSetColumnPermissionsDTO();
dataSetColumnPermissionsDTO.setAuthTargetId(uid);
dataSetColumnPermissionsDTO.setAuthTargetType("user");
dataSetColumnPermissionsDTO.setEnable(true);
// dataSetColumnPermissionsDTO.setEnable(true);
List<DataSetColumnPermissionsDTO> dataSetColumnPermissionsDTOS = columnPermissionsApi.list(dataSetColumnPermissionsDTO);
if (CollectionUtils.isNotEmpty(roleIds)) {
@@ -364,6 +364,11 @@ public class DatasetSQLBotManage {
if (ObjectUtils.isEmpty(fields)) {
DEException.throwException(Translator.get("i18n_no_column_permission"));
}
if (sqlbotFields.size() > fields.size()) {
Set<Long> fieldIdSet = fields.stream().map(DatasetTableFieldDTO::getId).collect(Collectors.toSet());
List<SQLBotAssistantField> filterSqlbotFields = sqlbotFields.stream().filter(item -> fieldIdSet.contains(item.getFieldId())).collect(Collectors.toList());
table.setFields(filterSqlbotFields);
}
}
buildFieldName(sqlMap, originFields);
Map<Long, DatasourceSchemaDTO> dsMap = (Map<Long, DatasourceSchemaDTO>) sqlMap.get("dsMap");