From 852710a711ea83abcbe348255097906ba223d901 Mon Sep 17 00:00:00 2001 From: JinyLeeChina <42576980+JinyLeeChina@users.noreply.github.com> Date: Wed, 3 Feb 2021 00:27:22 +0800 Subject: [PATCH] [Feature][JsonSplit] add task delete/update/switch method (#4654) * add task query * modify codestyle * add task delete/update/swich method * add task delete/update/swich method * codestyle * use updateById save task definition * modify method name Co-authored-by: JinyLeeChina <297062848@qq.com> --- .../service/ProcessTaskRelationService.java | 72 ++++++ .../api/service/TaskDefinitionService.java | 37 +++ .../impl/ProcessTaskRelationServiceImpl.java | 76 +++++++ .../impl/TaskDefinitionServiceImpl.java | 210 +++++++++++++++++- .../dao/mapper/ProcessDefinitionMapper.java | 11 +- .../dao/mapper/ProcessTaskRelationMapper.java | 12 +- .../dao/mapper/TaskDefinitionLogMapper.java | 10 + .../dao/mapper/TaskDefinitionMapper.java | 8 + .../dao/mapper/ProcessDefinitionMapper.xml | 12 + .../dao/mapper/ProcessTaskRelationMapper.xml | 13 +- .../dao/mapper/TaskDefinitionLogMapper.xml | 24 +- .../dao/mapper/TaskDefinitionMapper.xml | 4 + 12 files changed, 467 insertions(+), 22 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessTaskRelationService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessTaskRelationService.java index 9117e729e3..0d1d0eaea1 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessTaskRelationService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessTaskRelationService.java @@ -48,5 +48,77 @@ public interface ProcessTaskRelationService { String conditionType, String conditionParams); + + /** + * query process task relation + * + * @param loginUser login user + * @param projectName project name + * @param processDefinitionCode process definition code + */ + Map queryProcessTaskRelation(User loginUser, + String projectName, + Long processDefinitionCode); + + /** + * delete process task relation + * + * @param loginUser login user + * @param projectName project name + * @param processDefinitionCode process definition code + */ + Map deleteTaskDefinitionByProcessCode(User loginUser, + String projectName, + Long processDefinitionCode); + + /** + * delete process task relation + * + * @param loginUser login user + * @param projectName project name + * @param preTaskCode pre task code + */ + Map deleteTaskDefinitionByTaskCode(User loginUser, + String projectName, + Long preTaskCode); + + + /** + * update process task relation + * + * @param loginUser login user + * @param id process task relation id + * @param name relation name + * @param projectName process name + * @param processDefinitionCode process definition code + * @param preTaskCode pre task code + * @param postTaskCode post task code + * @param conditionType condition type + * @param conditionParams condition params + */ + Map updateTaskDefinition(User loginUser, + int id, + String name, + String projectName, + Long processDefinitionCode, + Long preTaskCode, + Long postTaskCode, + String conditionType, + String conditionParams); + + + /** + * switch process task relation version + * + * @param loginUser login user + * @param projectName project name + * @param processTaskRelationId process task relation id + * @param version the version user want to switch + * @return switch process task relation version result code + */ + Map switchVersion(User loginUser, + String projectName, + int processTaskRelationId, + int version); } diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java index 4c1f16ce1b..ea0031ab76 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java @@ -47,5 +47,42 @@ public interface TaskDefinitionService { Map queryTaskDefinitionByName(User loginUser, String projectName, String taskName); + + /** + * delete task definition + * + * @param loginUser login user + * @param projectName project name + * @param taskCode task code + */ + Map deleteTaskDefinitionByCode(User loginUser, + String projectName, + Long taskCode); + + /** + * update task definition + * + * @param loginUser login user + * @param projectName project name + * @param taskCode task code + * @param taskDefinitionJson task definition json + */ + Map updateTaskDefinition(User loginUser, + String projectName, + Long taskCode, + String taskDefinitionJson); + + /** + * update task definition + * + * @param loginUser login user + * @param projectName project name + * @param taskCode task code + * @param version the version user want to switch + */ + Map switchVersion(User loginUser, + String projectName, + Long taskCode, + int version); } diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessTaskRelationServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessTaskRelationServiceImpl.java index 463117d87e..f7c57063ac 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessTaskRelationServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessTaskRelationServiceImpl.java @@ -147,4 +147,80 @@ public class ProcessTaskRelationServiceImpl extends BaseService implements putMsg(result, Status.TASK_DEFINE_NOT_EXIST, taskCode); } } + + /** + * query process task relation + * + * @param loginUser login user + * @param projectName project name + * @param processDefinitionCode process definition code + */ + @Override + public Map queryProcessTaskRelation(User loginUser, String projectName, Long processDefinitionCode) { + return null; + } + + /** + * delete process task relation + * + * @param loginUser login user + * @param projectName project name + * @param processDefinitionCode process definition code + */ + @Override + public Map deleteTaskDefinitionByProcessCode(User loginUser, String projectName, Long processDefinitionCode) { + return null; + } + + /** + * delete process task relation + * + * @param loginUser login user + * @param projectName project name + * @param preTaskCode pre task code + */ + @Override + public Map deleteTaskDefinitionByTaskCode(User loginUser, String projectName, Long preTaskCode) { + return null; + } + + /** + * update process task relation + * + * @param loginUser login user + * @param id process task relation id + * @param name relation name + * @param projectName process name + * @param processDefinitionCode process definition code + * @param preTaskCode pre task code + * @param postTaskCode post task code + * @param conditionType condition type + * @param conditionParams condition params + */ + @Override + public Map updateTaskDefinition(User loginUser, + int id, + String name, + String projectName, + Long processDefinitionCode, + Long preTaskCode, + Long postTaskCode, + String conditionType, + String conditionParams) { + return null; + } + + /** + * switch process task relation version + * + * @param loginUser login user + * @param projectName project name + * @param processTaskRelationId process task relation id + * @param version the version user want to switch + * @return switch process task relation version result code + */ + @Override + public Map switchVersion(User loginUser, String projectName, int processTaskRelationId, int version) { + return null; + } } diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java index 7da467f32a..ed50788ebc 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java @@ -24,6 +24,7 @@ import org.apache.dolphinscheduler.api.service.TaskDefinitionService; import org.apache.dolphinscheduler.api.utils.CheckUtils; import org.apache.dolphinscheduler.common.Constants; import org.apache.dolphinscheduler.common.enums.Flag; +import org.apache.dolphinscheduler.common.enums.ReleaseState; import org.apache.dolphinscheduler.common.enums.TaskType; import org.apache.dolphinscheduler.common.enums.TimeoutFlag; import org.apache.dolphinscheduler.common.model.TaskNode; @@ -35,16 +36,21 @@ import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils; import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils.SnowFlakeException; import org.apache.dolphinscheduler.common.utils.StringUtils; import org.apache.dolphinscheduler.common.utils.TaskParametersUtils; +import org.apache.dolphinscheduler.dao.entity.ProcessDefinition; +import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelation; import org.apache.dolphinscheduler.dao.entity.Project; import org.apache.dolphinscheduler.dao.entity.TaskDefinition; import org.apache.dolphinscheduler.dao.entity.TaskDefinitionLog; import org.apache.dolphinscheduler.dao.entity.User; +import org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionMapper; +import org.apache.dolphinscheduler.dao.mapper.ProcessTaskRelationMapper; import org.apache.dolphinscheduler.dao.mapper.ProjectMapper; import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionLogMapper; import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -76,6 +82,11 @@ public class TaskDefinitionServiceImpl extends BaseService implements @Autowired private TaskDefinitionLogMapper taskDefinitionLogMapper; + @Autowired + private ProcessTaskRelationMapper processTaskRelationMapper; + + @Autowired + private ProcessDefinitionMapper processDefinitionMapper; /** * create task definition @@ -100,14 +111,8 @@ public class TaskDefinitionServiceImpl extends BaseService implements } TaskNode taskNode = JSONUtils.parseObject(taskDefinitionJson, TaskNode.class); - if (taskNode == null) { - logger.error("taskDefinitionJson is not valid json"); - putMsg(result, Status.DATA_IS_NOT_VALID, taskDefinitionJson); - return result; - } - if (!CheckUtils.checkTaskNodeParameters(taskNode.getParams(), taskNode.getName())) { - logger.error("task node {} parameter invalid", taskNode.getName()); - putMsg(result, Status.PROCESS_NODE_S_PARAMETER_INVALID, taskNode.getName()); + checkTaskNode(result, taskNode, taskDefinitionJson); + if (result.get(Constants.STATUS) != Status.SUCCESS) { return result; } long code = 0L; @@ -129,8 +134,10 @@ public class TaskDefinitionServiceImpl extends BaseService implements loginUser.getId(), TaskType.of(taskNode.getType()), taskNode.getParams(), - taskNode.isForbidden() ? Flag.NO : Flag.YES, taskNode.getTaskInstancePriority(), - taskNode.getWorkerGroup(), taskNode.getMaxRetryTimes(), + taskNode.isForbidden() ? Flag.NO : Flag.YES, + taskNode.getTaskInstancePriority(), + taskNode.getWorkerGroup(), + taskNode.getMaxRetryTimes(), taskNode.getRetryInterval(), taskNode.getTaskTimeoutParameter().getEnable() ? TimeoutFlag.OPEN : TimeoutFlag.CLOSE, taskNode.getTaskTimeoutParameter().getStrategy(), @@ -204,5 +211,188 @@ public class TaskDefinitionServiceImpl extends BaseService implements return result; } + /** + * delete task definition + * + * @param loginUser login user + * @param projectName project name + * @param taskCode task code + */ + @Transactional(rollbackFor = RuntimeException.class) + @Override + public Map deleteTaskDefinitionByCode(User loginUser, String projectName, Long taskCode) { + Map result = new HashMap<>(5); + Project project = projectMapper.queryByName(projectName); + + Map checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); + Status resultEnum = (Status) checkResult.get(Constants.STATUS); + if (resultEnum != Status.SUCCESS) { + return checkResult; + } + checkTaskRelation(result, taskCode); + resultEnum = (Status) result.get(Constants.STATUS); + if (resultEnum != Status.SUCCESS) { + return result; + } + int delete = taskDefinitionMapper.deleteByCode(taskCode); + if (delete > 0) { + putMsg(result, Status.SUCCESS); + } else { + putMsg(result, Status.DELETE_PROCESS_DEFINE_BY_ID_ERROR); + } + return result; + } + + /** + * update task definition + * + * @param loginUser login user + * @param projectName project name + * @param taskCode task code + * @param taskDefinitionJson task definition json + */ + @Override + public Map updateTaskDefinition(User loginUser, String projectName, Long taskCode, String taskDefinitionJson) { + Map result = new HashMap<>(5); + Project project = projectMapper.queryByName(projectName); + + Map checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); + Status resultEnum = (Status) checkResult.get(Constants.STATUS); + if (resultEnum != Status.SUCCESS) { + return checkResult; + } + checkTaskRelation(result, taskCode); + if (result.get(Constants.STATUS) != Status.SUCCESS) { + return result; + } + TaskDefinition taskDefinition = taskDefinitionMapper.queryByDefinitionCode(taskCode); + if (taskDefinition == null) { + putMsg(result, Status.TASK_DEFINE_NOT_EXIST, taskCode); + return result; + } + TaskNode taskNode = JSONUtils.parseObject(taskDefinitionJson, TaskNode.class); + checkTaskNode(result, taskNode, taskDefinitionJson); + if (result.get(Constants.STATUS) != Status.SUCCESS) { + return result; + } + + List taskDefinitionLogs = taskDefinitionLogMapper.queryByDefinitionCode(taskCode); + int version = taskDefinitionLogs + .stream() + .map(TaskDefinitionLog::getVersion) + .max((x, y) -> x > y ? x : y) + .orElse(0) + 1; + Date now = new Date(); + taskDefinition.setVersion(version); + taskDefinition.setCode(taskCode); + taskDefinition.setName(taskNode.getName()); + taskDefinition.setDescription(taskNode.getDesc()); + taskDefinition.setProjectCode(project.getCode()); + taskDefinition.setUserId(loginUser.getId()); + taskDefinition.setTaskType(TaskType.of(taskNode.getType())); + taskDefinition.setTaskParams(taskNode.getParams()); + taskDefinition.setFlag(taskNode.isForbidden() ? Flag.NO : Flag.YES); + taskDefinition.setTaskPriority(taskNode.getTaskInstancePriority()); + taskDefinition.setWorkerGroup(taskNode.getWorkerGroup()); + taskDefinition.setFailRetryTimes(taskNode.getMaxRetryTimes()); + taskDefinition.setFailRetryInterval(taskNode.getRetryInterval()); + taskDefinition.setTimeoutFlag(taskNode.getTaskTimeoutParameter().getEnable() ? TimeoutFlag.OPEN : TimeoutFlag.CLOSE); + taskDefinition.setTaskTimeoutStrategy(taskNode.getTaskTimeoutParameter().getStrategy()); + taskDefinition.setTimeout(taskNode.getTaskTimeoutParameter().getInterval()); + taskDefinition.setUpdateTime(now); + taskDefinition.setResourceIds(getResourceIds(taskDefinition)); + taskDefinitionMapper.updateById(taskDefinition); + // save task definition log + TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); + taskDefinitionLog.set(taskDefinition); + taskDefinitionLog.setOperator(loginUser.getId()); + taskDefinitionLog.setOperateTime(now); + taskDefinitionLogMapper.insert(taskDefinitionLog); + result.put(Constants.DATA_LIST, taskCode); + putMsg(result, Status.SUCCESS); + return result; + } + + public void checkTaskRelation(Map result, Long taskCode) { + List processTaskRelationList = processTaskRelationMapper.queryByTaskCode(taskCode, taskCode); + if (!processTaskRelationList.isEmpty()) { + Set processDefinitionCodes = processTaskRelationList + .stream() + .map(ProcessTaskRelation::getProcessDefinitionCode) + .collect(Collectors.toSet()); + List processDefinitionList = processDefinitionMapper.queryByCodes(processDefinitionCodes); + // check process definition is already online + for (ProcessDefinition processDefinition : processDefinitionList) { + if (processDefinition.getReleaseState() == ReleaseState.ONLINE) { + putMsg(result, Status.PROCESS_DEFINE_STATE_ONLINE, processDefinition.getCode()); + return; + } + } + } + } + + public void checkTaskNode(Map result, TaskNode taskNode, String taskDefinitionJson) { + if (taskNode == null) { + logger.error("taskDefinitionJson is not valid json"); + putMsg(result, Status.DATA_IS_NOT_VALID, taskDefinitionJson); + return; + } + if (!CheckUtils.checkTaskNodeParameters(taskNode.getParams(), taskNode.getName())) { + logger.error("task node {} parameter invalid", taskNode.getName()); + putMsg(result, Status.PROCESS_NODE_S_PARAMETER_INVALID, taskNode.getName()); + } + } + + /** + * update task definition + * + * @param loginUser login user + * @param projectName project name + * @param taskCode task code + * @param version the version user want to switch + */ + @Override + public Map switchVersion(User loginUser, String projectName, Long taskCode, int version) { + Map result = new HashMap<>(5); + Project project = projectMapper.queryByName(projectName); + + Map checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); + Status resultEnum = (Status) checkResult.get(Constants.STATUS); + if (resultEnum != Status.SUCCESS) { + return checkResult; + } + checkTaskRelation(result, taskCode); + if (result.get(Constants.STATUS) != Status.SUCCESS) { + return result; + } + TaskDefinition taskDefinition = taskDefinitionMapper.queryByDefinitionCode(taskCode); + if (taskDefinition == null) { + putMsg(result, Status.TASK_DEFINE_NOT_EXIST, taskCode); + return result; + } + TaskDefinitionLog taskDefinitionLog = taskDefinitionLogMapper.queryByDefinitionCodeAndVersion(taskCode, version); + taskDefinition.setVersion(version); + taskDefinition.setCode(taskCode); + taskDefinition.setName(taskDefinitionLog.getName()); + taskDefinition.setDescription(taskDefinitionLog.getDescription()); + taskDefinition.setProjectCode(taskDefinitionLog.getProjectCode()); + taskDefinition.setUserId(loginUser.getId()); + taskDefinition.setTaskType(taskDefinitionLog.getTaskType()); + taskDefinition.setTaskParams(taskDefinitionLog.getTaskParams()); + taskDefinition.setFlag(taskDefinitionLog.getFlag()); + taskDefinition.setTaskPriority(taskDefinitionLog.getTaskPriority()); + taskDefinition.setWorkerGroup(taskDefinitionLog.getWorkerGroup()); + taskDefinition.setFailRetryTimes(taskDefinitionLog.getFailRetryTimes()); + taskDefinition.setFailRetryInterval(taskDefinitionLog.getFailRetryInterval()); + taskDefinition.setTimeoutFlag(taskDefinitionLog.getTimeoutFlag()); + taskDefinition.setTaskTimeoutStrategy(taskDefinitionLog.getTaskTimeoutStrategy()); + taskDefinition.setTimeout(taskDefinitionLog.getTimeout()); + taskDefinition.setUpdateTime(new Date()); + taskDefinition.setResourceIds(taskDefinitionLog.getResourceIds()); + taskDefinitionMapper.updateById(taskDefinition); + result.put(Constants.DATA_LIST, taskCode); + putMsg(result, Status.SUCCESS); + return result; + } } diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java index 4c61d68b34..ff4d94471a 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java @@ -23,6 +23,7 @@ import org.apache.dolphinscheduler.dao.entity.ProcessDefinition; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -41,7 +42,15 @@ public interface ProcessDefinitionMapper extends BaseMapper { * @return process definition */ ProcessDefinition queryByCode(@Param("code") Long code); - + + /** + * query process definition by code list + * + * @param codes codes + * @return process definition list + */ + List queryByCodes(@Param("codes") Collection codes); + /** * delete process definition by code * diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessTaskRelationMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessTaskRelationMapper.java index 6fb6f9f895..1612fec1e5 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessTaskRelationMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessTaskRelationMapper.java @@ -34,7 +34,17 @@ public interface ProcessTaskRelationMapper extends BaseMapper queryByProcessDefinitionCode(@Param("processDefinitionCode") String processDefinitionCode); + + /** + * process task relation by taskCode + * + * @param preTaskCode preTaskCode + * @param postTaskCode postTaskCode + * @return ProcessTaskRelation + */ + List queryByTaskCode(@Param("preTaskCode") Long preTaskCode, + @Param("postTaskCode") Long postTaskCode); } diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.java index b4878a066f..e49e01ea31 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.java @@ -47,4 +47,14 @@ public interface TaskDefinitionLogMapper extends BaseMapper { * @return task definition log list */ List queryByDefinitionCode(@Param("taskDefinitionCode") long taskDefinitionCode); + + /** + * query task definition log + * + * @param taskDefinitionCode taskDefinitionCode + * @param version version + * @return task definition log + */ + TaskDefinitionLog queryByDefinitionCodeAndVersion(@Param("taskDefinitionCode") long taskDefinitionCode, + @Param("version") int version); } diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.java index 6e68fc5345..b200d9a523 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.java @@ -98,4 +98,12 @@ public interface TaskDefinitionMapper extends BaseMapper { */ @MapKey("id") List> listResourcesByUser(@Param("userId") Integer userId); + + /** + * delete task definition by code + * + * @param code code + * @return int + */ + int deleteByCode(@Param("code") Long code); } diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml index e9a4888e1e..1dbb9fde4e 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml @@ -44,6 +44,18 @@ from t_ds_process_definition where code = #{code} + select @@ -28,4 +28,13 @@ from t_ds_process_task_relation WHERE process_definition_code = #{processDefinitionCode} + diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.xml index 814ed708f1..689eff2764 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapper.xml @@ -18,6 +18,11 @@ + + id, code, `name`, version, description, project_code, user_id, task_type, task_params, flag, task_priority, + worker_group, fail_retry_times, fail_retry_interval, timeout_flag, timeout_notify_strategy, timeout, + resource_ids, operator, operate_time, create_time, update_time + + diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.xml index 055a70ab13..4d1d935811 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapper.xml @@ -87,4 +87,8 @@ FROM t_ds_task_definition WHERE user_id = #{userId} resource_ids is not null and resource_ids != '' + + delete from t_ds_task_definition + where code = #{code} +