diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MultipleDatabaseChangeRuntimeFlowableTask.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MultipleDatabaseChangeRuntimeFlowableTask.java index 5b5d892ba0..c924b0f871 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MultipleDatabaseChangeRuntimeFlowableTask.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MultipleDatabaseChangeRuntimeFlowableTask.java @@ -30,6 +30,7 @@ import com.oceanbase.odc.common.i18n.I18n; import com.oceanbase.odc.common.json.JsonUtils; +import com.oceanbase.odc.common.util.StringUtils; import com.oceanbase.odc.core.shared.constant.FlowStatus; import com.oceanbase.odc.core.shared.constant.TaskErrorStrategy; import com.oceanbase.odc.core.shared.constant.TaskType; @@ -141,6 +142,7 @@ protected Void start(Long taskId, TaskService taskService, DelegateExecution exe Map map = multipleDatabaseChangeParameters.getDatabases().stream() .collect(Collectors.toMap(DatabaseChangeDatabase::getId, Function.identity())); Locale locale = multipleDatabaseChangeParameters.getLocale(); + boolean descriptionIsEmpty = StringUtils.isEmpty(detail.getDescription()); for (Long batchDatabaseId : batchDatabaseIds) { CreateFlowInstanceReq createFlowInstanceReq = new CreateFlowInstanceReq(); createFlowInstanceReq.setDatabaseId(batchDatabaseId); @@ -149,8 +151,10 @@ protected Void start(Long taskId, TaskService taskService, DelegateExecution exe createFlowInstanceReq.setParentFlowInstanceId(FlowTaskUtil.getFlowInstanceId(execution)); createFlowInstanceReq.setParameters(multipleDatabaseChangeParameters .convertIntoDatabaseChangeParameters(multipleDatabaseChangeParameters)); - createFlowInstanceReq.setDescription( - generateDescription(locale, map.get(batchDatabaseId), getFlowInstanceId(), this.batchId)); + String description = descriptionIsEmpty + ? generateDescription(locale, map.get(batchDatabaseId), getFlowInstanceId(), this.batchId) + : detail.getDescription(); + createFlowInstanceReq.setDescription(description); List individualFlowInstance = flowInstanceService.createWithoutApprovalNode( createFlowInstanceReq); flowInstanceIds.add(individualFlowInstance.get(0).getId());