From 2151c51f7822fa086f789a09862b7750f6bf5600 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Tue, 28 Oct 2025 18:32:11 +0800 Subject: [PATCH] fix: Variable assignment data type converted (#4279) --- apps/application/flow/compare/contain_compare.py | 5 ++++- apps/application/flow/compare/not_contain_compare.py | 5 ++++- .../variable_assign_node/impl/base_variable_assign_node.py | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/application/flow/compare/contain_compare.py b/apps/application/flow/compare/contain_compare.py index 8c38bf18b..0ea3fd871 100644 --- a/apps/application/flow/compare/contain_compare.py +++ b/apps/application/flow/compare/contain_compare.py @@ -20,4 +20,7 @@ class ContainCompare(Compare): def compare(self, source_value, compare, target_value): if isinstance(source_value, str): return str(target_value) in source_value - return any([str(item) == str(target_value) for item in source_value]) + elif isinstance(source_value, list): + return any([str(item) == str(target_value) for item in source_value]) + else: + return str(target_value) in str(source_value) diff --git a/apps/application/flow/compare/not_contain_compare.py b/apps/application/flow/compare/not_contain_compare.py index 3f69847b4..f9fb1d0ea 100644 --- a/apps/application/flow/compare/not_contain_compare.py +++ b/apps/application/flow/compare/not_contain_compare.py @@ -20,4 +20,7 @@ class NotContainCompare(Compare): def compare(self, source_value, compare, target_value): if isinstance(source_value, str): return str(target_value) not in source_value - return not any([str(item) == str(target_value) for item in source_value]) + elif isinstance(self, list): + return not any([str(item) == str(target_value) for item in source_value]) + else: + return str(target_value) not in str(source_value) diff --git a/apps/application/flow/step_node/variable_assign_node/impl/base_variable_assign_node.py b/apps/application/flow/step_node/variable_assign_node/impl/base_variable_assign_node.py index 15cfd1346..2bef6d6a5 100644 --- a/apps/application/flow/step_node/variable_assign_node/impl/base_variable_assign_node.py +++ b/apps/application/flow/step_node/variable_assign_node/impl/base_variable_assign_node.py @@ -86,9 +86,9 @@ class BaseVariableAssignNode(IVariableAssignNode): return NodeResult({'variable_list': variable_list, 'result_list': result_list}, {}) def get_reference_content(self, fields: List[str]): - return str(self.workflow_manage.get_reference_field( + return self.workflow_manage.get_reference_field( fields[0], - fields[1:])) + fields[1:]) def get_details(self, index: int, **kwargs): return {