提交 673f4ea4 authored 作者: taojinlong's avatar taojinlong

feat: 优化任务状态的切换

上级 9d2d51b7
...@@ -57,7 +57,7 @@ public class DataSetTableTaskController { ...@@ -57,7 +57,7 @@ public class DataSetTableTaskController {
} }
@PostMapping("/updateStatus") @PostMapping("/updateStatus")
public void updateStatus(@RequestBody DatasetTableTask datasetTableTask) { public void updateStatus(@RequestBody DatasetTableTask datasetTableTask) throws Exception{
dataSetTableTaskService.updateDatasetTableTaskStatus(datasetTableTask); dataSetTableTaskService.updateDatasetTableTaskStatus(datasetTableTask);
} }
......
package io.dataease.service.dataset; package io.dataease.service.dataset;
import com.google.gson.Gson;
import io.dataease.base.domain.*; import io.dataease.base.domain.*;
import io.dataease.base.mapper.DatasetTableMapper; import io.dataease.base.mapper.DatasetTableMapper;
import io.dataease.base.mapper.DatasetTableTaskMapper; import io.dataease.base.mapper.DatasetTableTaskMapper;
...@@ -53,8 +52,6 @@ public class DataSetTableTaskService { ...@@ -53,8 +52,6 @@ public class DataSetTableTaskService {
private ExtDataSetTaskMapper extDataSetTaskMapper; private ExtDataSetTaskMapper extDataSetTaskMapper;
@Resource @Resource
private DatasetTableMapper datasetTableMapper; private DatasetTableMapper datasetTableMapper;
@Resource
private UtilMapper utilMapper;
public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception { public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception {
checkName(dataSetTaskRequest); checkName(dataSetTaskRequest);
...@@ -99,9 +96,10 @@ public class DataSetTableTaskService { ...@@ -99,9 +96,10 @@ public class DataSetTableTaskService {
// simple // simple
if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) { // SIMPLE 类型,提前占位 if (datasetTableTask.getRate().equalsIgnoreCase(ScheduleType.SIMPLE.toString())) { // SIMPLE 类型,提前占位
execNow(datasetTableTask); execNow(datasetTableTask);
}else {
checkTaskIsStopped(datasetTableTask);
} }
scheduleService.addSchedule(datasetTableTask); scheduleService.addSchedule(datasetTableTask);
checkTaskIsStopped(datasetTableTask);
return datasetTableTask; return datasetTableTask;
} }
...@@ -282,7 +280,13 @@ public class DataSetTableTaskService { ...@@ -282,7 +280,13 @@ public class DataSetTableTaskService {
} }
} }
public void updateDatasetTableTaskStatus(DatasetTableTask datasetTableTask){ public void updateDatasetTableTaskStatus(DatasetTableTask datasetTableTask)throws Exception{
DatasetTableTask dbDatasetTableTask = datasetTableTaskMapper.selectByPrimaryKey(datasetTableTask.getId());
if(dbDatasetTableTask.getStatus().equalsIgnoreCase(TaskStatus.Exec.name()) || dbDatasetTableTask.getStatus().equals(TaskStatus.Stopped.name())){
throw new Exception(Translator.get("i18n_change_task_status_error") + Translator.get("i18n_" + dbDatasetTableTask.getStatus()));
}
DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample(); DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria(); DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
criteria.andIdEqualTo(datasetTableTask.getId()); criteria.andIdEqualTo(datasetTableTask.getId());
......
...@@ -277,4 +277,7 @@ i18n_data_not_sync=Please sync data first ...@@ -277,4 +277,7 @@ i18n_data_not_sync=Please sync data first
i18n_excel_colume_change=The column name of Excel is inconsistent with the original data set i18n_excel_colume_change=The column name of Excel is inconsistent with the original data set
i18n_timed_task=Timed Task i18n_timed_task=Timed Task
i18n_datasource_connect_error=Data source connection exception: i18n_datasource_connect_error=Data source connection exception:
i18n_check_sql_error=Check incremental SQL exception, i18n_check_sql_error=Check incremental SQL exception,
\ No newline at end of file i18n_change_task_status_error=Suspension is not allowed. The task status is:
i18n_Stopped=END
i18n_Exec=Running
\ No newline at end of file
...@@ -277,3 +277,7 @@ i18n_excel_colume_change=Excel的列名与原数据集不一致 ...@@ -277,3 +277,7 @@ i18n_excel_colume_change=Excel的列名与原数据集不一致
i18n_timed_task=定时任务 i18n_timed_task=定时任务
i18n_datasource_connect_error=数据源连接异常: i18n_datasource_connect_error=数据源连接异常:
i18n_check_sql_error=校验增量 SQL 异常, i18n_check_sql_error=校验增量 SQL 异常,
i18n_change_task_status_error=不允许暂停,任务状态为:
i18n_Stopped=执行结束
i18n_Exec=运行中
...@@ -279,4 +279,7 @@ i18n_data_not_sync=請先完成數據同步 ...@@ -279,4 +279,7 @@ i18n_data_not_sync=請先完成數據同步
i18n_excel_colume_change=Excel的列名與原數據集不一致 i18n_excel_colume_change=Excel的列名與原數據集不一致
i18n_timed_task=定時任務 i18n_timed_task=定時任務
i18n_datasource_connect_error=數據源連接異常: i18n_datasource_connect_error=數據源連接異常:
i18n_check_sql_error=校驗增量SQL異常, i18n_check_sql_error=校驗增量SQL異常,
\ No newline at end of file i18n_change_task_status_error=不允許暫停,任務狀態為:
i18n_Stopped=執行結束
i18n_Exec=運行中
\ No newline at end of file
...@@ -416,15 +416,20 @@ export default { ...@@ -416,15 +416,20 @@ export default {
this.update_task = true this.update_task = true
}, },
changeTaskStatus(task) { changeTaskStatus(task) {
const param = task let param = JSON.parse(JSON.stringify(task));
param.status = task.status === 'Underway' ? 'Pending' : 'Underway'
post('/dataset/task/updateStatus', task).then(response => { post('/dataset/task/updateStatus', task).then(response => {
task.status = param.status if(response.success){
this.$message({ task.status = param.status
message: this.$t('dataset.task.change_success'), this.$message({
type: 'success', message: this.$t('dataset.task.change_success'),
showClose: true type: 'success',
}) showClose: true
})
}else {
this.search(this.last_condition, false)
}
}).catch(() => {
this.search(this.last_condition, false)
}) })
}, },
execTask(task) { execTask(task) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论