feat(fix):数据源、数据集、视图以及分组场景等,同一级下名称全局唯一,修改提示文案;同一数据集下相同定时任务同名校验

This commit is contained in:
junjie
2021-06-03 17:32:05 +08:00
parent 071cafcd26
commit 2d6c22190f
4 changed files with 33 additions and 12 deletions

View File

@@ -1,8 +1,6 @@
package io.dataease.service.dataset;
import io.dataease.base.domain.DatasetTableTask;
import io.dataease.base.domain.DatasetTableTaskExample;
import io.dataease.base.domain.DatasetTableTaskLog;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.DatasetTableTaskMapper;
import io.dataease.commons.constants.JobStatus;
import io.dataease.commons.constants.ScheduleType;
@@ -38,7 +36,9 @@ public class DataSetTableTaskService {
private DataSetTableService dataSetTableService;
@Resource
private ExtractDataService extractDataService;
public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception {
checkName(dataSetTaskRequest);
DatasetTableTask datasetTableTask = dataSetTaskRequest.getDatasetTableTask();
dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig());
@@ -60,10 +60,10 @@ public class DataSetTableTaskService {
datasetTableTask.setId(UUID.randomUUID().toString());
datasetTableTask.setCreateTime(System.currentTimeMillis());
// SIMPLE 类型,提前占位
if(datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())){
if(extractDataService.updateSyncStatus(dataSetTableService.get(datasetTableTask.getTableId()))){
if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) {
if (extractDataService.updateSyncStatus(dataSetTableService.get(datasetTableTask.getTableId()))) {
throw new Exception(Translator.get("i18n_sync_job_exists"));
}else {
} else {
//write log
DatasetTableTaskLog datasetTableTaskLog = new DatasetTableTaskLog();
datasetTableTaskLog.setTableId(datasetTableTask.getTableId());
@@ -119,4 +119,22 @@ public class DataSetTableTaskService {
datasetTableTaskExample.setOrderByClause("create_time desc,name asc");
return datasetTableTaskMapper.selectByExample(datasetTableTaskExample);
}
private void checkName(DataSetTaskRequest dataSetTaskRequest) {
DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
if (StringUtils.isNotEmpty(dataSetTaskRequest.getDatasetTableTask().getId())) {
criteria.andIdNotEqualTo(dataSetTaskRequest.getDatasetTableTask().getId());
}
if (StringUtils.isNotEmpty(dataSetTaskRequest.getDatasetTableTask().getTableId())) {
criteria.andTableIdEqualTo(dataSetTaskRequest.getDatasetTableTask().getTableId());
}
if (StringUtils.isNotEmpty(dataSetTaskRequest.getDatasetTableTask().getName())) {
criteria.andNameEqualTo(dataSetTaskRequest.getDatasetTableTask().getName());
}
List<DatasetTableTask> list = datasetTableTaskMapper.selectByExample(datasetTableTaskExample);
if (list.size() > 0) {
throw new RuntimeException(Translator.get("i18n_task_name_repeat"));
}
}
}