Skip to content

Commit d5148dd

Browse files
authored
fix: When the execution parameter of the function library is not None, no verification is performed (#3729)
1 parent b838a14 commit d5148dd

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

apps/application/flow/step_node/function_lib_node/impl/base_function_lib_node.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ def get_field_value(debug_field_list, name, is_required):
4545

4646

4747
def valid_reference_value(_type, value, name):
48+
if value is None:
49+
return
4850
if _type == 'int':
4951
instance_type = int | float
5052
elif _type == 'float':
@@ -70,10 +72,17 @@ def convert_value(name: str, value, _type, is_required, source, node):
7072
if not is_required and source == 'reference' and (value is None or len(value) == 0):
7173
return None
7274
if source == 'reference':
75+
if value and isinstance(value, list) and len(value) == 0:
76+
if not is_required:
77+
return None
78+
else:
79+
raise Exception(f"字段:{name}类型:{_type}值:{value}必填参数")
7380
value = node.workflow_manage.get_reference_field(
7481
value[0],
7582
value[1:])
7683
valid_reference_value(_type, value, name)
84+
if value is None:
85+
return None
7786
if _type == 'int':
7887
return int(value)
7988
if _type == 'float':

apps/application/flow/step_node/function_node/impl/base_function_node.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ def write_context(step_variable: Dict, global_variable: Dict, node, workflow):
3232

3333

3434
def valid_reference_value(_type, value, name):
35+
if value is None:
36+
return
3537
if _type == 'int':
3638
instance_type = int | float
3739
elif _type == 'float':
@@ -52,10 +54,17 @@ def convert_value(name: str, value, _type, is_required, source, node):
5254
if not is_required and (value is None or (isinstance(value, str) and len(value) == 0)):
5355
return None
5456
if source == 'reference':
57+
if value and isinstance(value, list) and len(value) == 0:
58+
if not is_required:
59+
return None
60+
else:
61+
raise Exception(f"字段:{name}类型:{_type}值:{value}必填参数")
5562
value = node.workflow_manage.get_reference_field(
5663
value[0],
5764
value[1:])
5865
valid_reference_value(_type, value, name)
66+
if value is None:
67+
return None
5968
if _type == 'int':
6069
return int(value)
6170
if _type == 'float':

0 commit comments

Comments
 (0)