refactor(数据集): 非直连数据集修改字段前需完成数据同步

This commit is contained in:
junjun 2023-02-01 10:26:29 +08:00
parent 39603cc961
commit bfec117fb6

View File

@ -155,8 +155,14 @@ public class DataSetTableFieldController {
public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) { public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) {
dataSetTableFieldsService.checkFieldName(datasetTableField); dataSetTableFieldsService.checkFieldName(datasetTableField);
try { try {
// 执行一次sql确保数据集中所有字段均能正确执行 // 非直连数据集需先完成数据同步
DatasetTable datasetTable = dataSetTableService.get(datasetTableField.getTableId()); DatasetTable datasetTable = dataSetTableService.get(datasetTableField.getTableId());
if (datasetTable.getMode() == 1) {
if (!dataSetTableService.checkEngineTableIsExists(datasetTableField.getTableId())) {
throw new RuntimeException(Translator.get("i18n_data_not_sync"));
}
}
// 执行一次sql确保数据集中所有字段均能正确执行
DataSetTableRequest dataSetTableRequest = new DataSetTableRequest(); DataSetTableRequest dataSetTableRequest = new DataSetTableRequest();
BeanUtils.copyProperties(datasetTable, dataSetTableRequest); BeanUtils.copyProperties(datasetTable, dataSetTableRequest);
dataSetTableService.getPreviewData(dataSetTableRequest, 1, 1, Collections.singletonList(datasetTableField), null); dataSetTableService.getPreviewData(dataSetTableRequest, 1, 1, Collections.singletonList(datasetTableField), null);