wangxj3 commented on a change in pull request #4743:
URL:
https://github.com/apache/incubator-dolphinscheduler/pull/4743#discussion_r578975376
##########
File path:
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
##########
@@ -1531,25 +1531,85 @@ public int updateProcessInstance(Integer
processInstanceId, String processJson,
/**
* change task state
*
- * @param state state
- * @param endTime endTime
+ * @param state state
+ * @param endTime endTime
* @param taskInstId taskInstId
- * @param varPool varPool
+ * @param varPool varPool
*/
public void changeTaskState(TaskInstance taskInstance, ExecutionStatus
state,
Date endTime,
int processId,
String appIds,
int taskInstId,
- String varPool) {
+ String varPool,
+ String result) {
taskInstance.setPid(processId);
taskInstance.setAppLink(appIds);
taskInstance.setState(state);
taskInstance.setEndTime(endTime);
taskInstance.setVarPool(varPool);
+ changeOutParam(result, taskInstance);
saveTaskInstance(taskInstance);
}
+ public void changeOutParam(String result, TaskInstance taskInstance) {
+ if (StringUtils.isEmpty(result)) {
+ return;
+ }
+ List<Map<String, String>> workerResultParam =
getListMapByString(result);
+ if (CollectionUtils.isEmpty(workerResultParam)) {
+ return;
+ }
+ //if the result more than one line,just get the first .
+ Map<String, String> row = workerResultParam.get(0);
+ if (row == null || row.size() == 0) {
+ return;
+ }
+ TaskNode taskNode = JSONUtils.parseObject(taskInstance.getTaskJson(),
TaskNode.class);
+ Map<String, Object> taskParams = JSONUtils.toMap(taskNode.getParams(),
String.class, Object.class);
+ Object localParams = taskParams.get(LOCAL_PARAMS);
+ if (localParams == null) {
+ return;
+ }
+ ProcessInstance processInstance =
this.processInstanceMapper.queryDetailById(taskInstance.getProcessInstanceId());
+ List<Property> params4Process =
JSONUtils.toList(processInstance.getGlobalParams(), Property.class);
Review comment:
I will fix it ,thank you.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]