@@ -31,7 +31,6 @@ def save_context(self, details, workflow_manage):
3131 self .context ['exception_message' ] = details .get ('err_message' )
3232
3333 def get_first_non_null (self , variable_list ):
34-
3534 for variable in variable_list :
3635 v = self .workflow_manage .get_reference_field (
3736 variable .get ('variable' )[0 ],
@@ -40,12 +39,16 @@ def get_first_non_null(self, variable_list):
4039 return v
4140 return None
4241
43- def set_variable_to_json (self , variable_list ):
44-
42+ def set_variable_to_array (self , variable_list ):
4543 return [self .workflow_manage .get_reference_field (
4644 variable .get ('variable' )[0 ],
4745 variable .get ('variable' )[1 :]) for variable in variable_list ]
4846
47+ def set_variable_to_dict (self , variable_list ):
48+ return {(variable .get ('key' ) or variable .get ('variable' )[- 1 ]): self .workflow_manage .get_reference_field (
49+ variable .get ('variable' )[0 ],
50+ variable .get ('variable' )[1 :]) for variable in variable_list }
51+
4952 def reset_variable (self , variable ):
5053 value = self .workflow_manage .get_reference_field (
5154 variable .get ('variable' )[0 ],
@@ -65,9 +68,14 @@ def reset_group_list(self, group_list):
6568
6669 def execute (self , strategy , group_list , ** kwargs ) -> NodeResult :
6770 strategy_map = {'first_non_null' : self .get_first_non_null ,
68- 'variable_to_json' : self .set_variable_to_json ,
71+ 'variable_to_array' : self .set_variable_to_array ,
72+ 'variable_to_dict' : self .set_variable_to_dict ,
6973 }
7074
75+ # 向下兼容
76+ if strategy == 'variable_to_json' :
77+ strategy = 'variable_to_array'
78+
7179 result = {item .get ('field' ): strategy_map [strategy ](item .get ('variable_list' )) for item in group_list }
7280
7381 return NodeResult (
0 commit comments