diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index de3d1db042..21d2dc6b19 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -152,16 +152,16 @@ public class DataSetTableFieldController { @DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE) @ApiOperation("保存") @PostMapping("save") - public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) { + public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) throws Exception { dataSetTableFieldsService.checkFieldName(datasetTableField); - try { - // 非直连数据集需先完成数据同步 - DatasetTable datasetTable = dataSetTableService.get(datasetTableField.getTableId()); - if (datasetTable.getMode() == 1) { - if (!dataSetTableService.checkEngineTableIsExists(datasetTableField.getTableId())) { - throw new RuntimeException(Translator.get("i18n_data_not_sync")); - } + // 非直连数据集需先完成数据同步 + DatasetTable datasetTable = dataSetTableService.get(datasetTableField.getTableId()); + if (datasetTable.getMode() == 1) { + if (!dataSetTableService.checkEngineTableIsExists(datasetTableField.getTableId())) { + throw new RuntimeException(Translator.get("i18n_data_not_sync")); } + } + try { // 执行一次sql,确保数据集中所有字段均能正确执行 DataSetTableRequest dataSetTableRequest = new DataSetTableRequest(); BeanUtils.copyProperties(datasetTable, dataSetTableRequest);