sdhzwc commented on code in PR #14801:
URL: 
https://github.com/apache/dolphinscheduler/pull/14801#discussion_r1361482243


##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java:
##########
@@ -781,21 +786,53 @@ private TaskDefinitionLog updateTask(User loginUser, long 
projectCode, long task
                     projectCode, taskCode, 
taskDefinitionToUpdate.getVersion());
         // update process task relation
         List<ProcessTaskRelation> processTaskRelations = 
processTaskRelationMapper
-                .queryByTaskCode(taskDefinitionToUpdate.getCode());
+                
.queryProcessTaskRelationByTaskCode(taskDefinitionToUpdate.getCode());
         if (CollectionUtils.isNotEmpty(processTaskRelations)) {
+            ProcessTaskRelation taskRelation = processTaskRelations.get(0);
+            int processDefinitionVersion =
+                    
processDefinitionLogMapper.queryMaxVersionForDefinition(taskRelation.getProcessDefinitionCode())
+                            + 1;
+            long processDefinitionCode = 
taskRelation.getProcessDefinitionCode();
             for (ProcessTaskRelation processTaskRelation : 
processTaskRelations) {
                 if (taskCode == processTaskRelation.getPreTaskCode()) {
                     processTaskRelation.setPreTaskVersion(version);
                 } else if (taskCode == processTaskRelation.getPostTaskCode()) {
                     processTaskRelation.setPostTaskVersion(version);
                 }
-                int count = 
processTaskRelationMapper.updateProcessTaskRelationTaskVersion(processTaskRelation);
-                if (count != 1) {
+                
processTaskRelation.setProcessDefinitionVersion(processDefinitionVersion);
+                int update_2 = 
processTaskRelationMapper.updateProcessTaskRelationTaskVersion(processTaskRelation);
+                if (update_2 != 1) {
                     log.error("batch update process task relation error, 
projectCode:{}, taskDefinitionCode:{}.",
                             projectCode, taskCode);
                     putMsg(result, 
Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
                     throw new 
ServiceException(Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
                 }
+                ProcessTaskRelationLog processTaskRelationLog = new 
ProcessTaskRelationLog(processTaskRelation);
+                processTaskRelationLog.setOperator(loginUser.getId());
+                processTaskRelationLog.setId(null);
+                processTaskRelationLog.setOperateTime(now);
+                int insert_2 = 
processTaskRelationLogDao.insert(processTaskRelationLog);
+                if (insert_2 != 1) {
+                    log.error("batch update process task relation error, 
projectCode:{}, taskDefinitionCode:{}.",
+                            projectCode, taskCode);
+                    putMsg(result, 
Status.CREATE_PROCESS_TASK_RELATION_LOG_ERROR);
+                    throw new 
ServiceException(Status.CREATE_PROCESS_TASK_RELATION_LOG_ERROR);
+                }
+            }
+            ProcessDefinition processDefinition = 
processDefinitionMapper.queryByCode(processDefinitionCode);
+            processDefinition.setVersion(processDefinitionVersion);
+            processDefinition.setUpdateTime(now);
+            processDefinition.setUserId(loginUser.getId());
+            // update process definition
+            int update_3 = 
processDefinitionMapper.updateById(processDefinition);

Review Comment:
   The modification has been completed



##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java:
##########
@@ -781,21 +786,53 @@ private TaskDefinitionLog updateTask(User loginUser, long 
projectCode, long task
                     projectCode, taskCode, 
taskDefinitionToUpdate.getVersion());
         // update process task relation
         List<ProcessTaskRelation> processTaskRelations = 
processTaskRelationMapper
-                .queryByTaskCode(taskDefinitionToUpdate.getCode());
+                
.queryProcessTaskRelationByTaskCode(taskDefinitionToUpdate.getCode());
         if (CollectionUtils.isNotEmpty(processTaskRelations)) {
+            ProcessTaskRelation taskRelation = processTaskRelations.get(0);
+            int processDefinitionVersion =
+                    
processDefinitionLogMapper.queryMaxVersionForDefinition(taskRelation.getProcessDefinitionCode())
+                            + 1;
+            long processDefinitionCode = 
taskRelation.getProcessDefinitionCode();
             for (ProcessTaskRelation processTaskRelation : 
processTaskRelations) {
                 if (taskCode == processTaskRelation.getPreTaskCode()) {
                     processTaskRelation.setPreTaskVersion(version);
                 } else if (taskCode == processTaskRelation.getPostTaskCode()) {
                     processTaskRelation.setPostTaskVersion(version);
                 }
-                int count = 
processTaskRelationMapper.updateProcessTaskRelationTaskVersion(processTaskRelation);
-                if (count != 1) {
+                
processTaskRelation.setProcessDefinitionVersion(processDefinitionVersion);
+                int update_2 = 
processTaskRelationMapper.updateProcessTaskRelationTaskVersion(processTaskRelation);
+                if (update_2 != 1) {
                     log.error("batch update process task relation error, 
projectCode:{}, taskDefinitionCode:{}.",
                             projectCode, taskCode);
                     putMsg(result, 
Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
                     throw new 
ServiceException(Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
                 }
+                ProcessTaskRelationLog processTaskRelationLog = new 
ProcessTaskRelationLog(processTaskRelation);
+                processTaskRelationLog.setOperator(loginUser.getId());
+                processTaskRelationLog.setId(null);
+                processTaskRelationLog.setOperateTime(now);
+                int insert_2 = 
processTaskRelationLogDao.insert(processTaskRelationLog);
+                if (insert_2 != 1) {
+                    log.error("batch update process task relation error, 
projectCode:{}, taskDefinitionCode:{}.",
+                            projectCode, taskCode);
+                    putMsg(result, 
Status.CREATE_PROCESS_TASK_RELATION_LOG_ERROR);
+                    throw new 
ServiceException(Status.CREATE_PROCESS_TASK_RELATION_LOG_ERROR);
+                }
+            }
+            ProcessDefinition processDefinition = 
processDefinitionMapper.queryByCode(processDefinitionCode);
+            processDefinition.setVersion(processDefinitionVersion);
+            processDefinition.setUpdateTime(now);
+            processDefinition.setUserId(loginUser.getId());
+            // update process definition
+            int update_3 = 
processDefinitionMapper.updateById(processDefinition);
+            ProcessDefinitionLog processDefinitionLog = new 
ProcessDefinitionLog(processDefinition);
+            processDefinitionLog.setOperateTime(now);
+            processDefinitionLog.setId(null);
+            processDefinitionLog.setOperator(loginUser.getId());
+            int insert_3 = 
processDefinitionLogMapper.insert(processDefinitionLog);

Review Comment:
   The modification has been completed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to