diff --git a/apps/application/flow/step_node/direct_reply_node/i_reply_node.py b/apps/application/flow/step_node/direct_reply_node/i_reply_node.py index 268ee295c..1d5256ac5 100644 --- a/apps/application/flow/step_node/direct_reply_node/i_reply_node.py +++ b/apps/application/flow/step_node/direct_reply_node/i_reply_node.py @@ -18,7 +18,8 @@ from common.util.field_message import ErrMessage class ReplyNodeParamsSerializer(serializers.Serializer): reply_type = serializers.CharField(required=True, error_messages=ErrMessage.char("回复类型")) fields = serializers.ListField(required=False, error_messages=ErrMessage.list("引用字段")) - content = serializers.CharField(required=False, error_messages=ErrMessage.char("直接回答内容")) + content = serializers.CharField(required=False, allow_blank=True, allow_null=True, + error_messages=ErrMessage.char("直接回答内容")) def is_valid(self, *, raise_exception=False): super().is_valid(raise_exception=True) diff --git a/apps/application/flow/workflow_manage.py b/apps/application/flow/workflow_manage.py index e820268f2..82647c41b 100644 --- a/apps/application/flow/workflow_manage.py +++ b/apps/application/flow/workflow_manage.py @@ -60,12 +60,12 @@ class Flow: @staticmethod def is_valid_node_params(node: Node): - get_node(node.type)(node, Node) + get_node(node.type)(node, None, None) def is_valid_node(self, node: Node): self.is_valid_node_params(node) if node.type == 'condition-node': - branch_list = node.properties.get('branch') + branch_list = node.properties.get('node_data').get('branch') for branch in branch_list: source_anchor_id = f"{node.id}_{branch.get('id')}_right" edge_list = [edge for edge in self.edges if edge.sourceAnchorId == source_anchor_id] @@ -89,7 +89,7 @@ class Flow: node_list = reduce(lambda x, y: [*x, *y], [[node for node in self.nodes if node.id == edge.targetNodeId] for edge in edge_list], []) - if len(node_list) == 0: + if len(node_list) == 0 and not end_nodes.__contains__(node.type): raise AppApiException(500, f'不存在的下一个节点') return node_list diff --git a/apps/application/urls.py b/apps/application/urls.py index 4fcbbbf0c..a39f0d47e 100644 --- a/apps/application/urls.py +++ b/apps/application/urls.py @@ -8,6 +8,7 @@ urlpatterns = [ path('application/profile', views.Application.Profile.as_view(), name='application/profile'), path('application/embed', views.Application.Embed.as_view()), path('application/authentication', views.Application.Authentication.as_view()), + path('application//publish', views.Application.Publish.as_view()), path('application//edit_icon', views.Application.EditIcon.as_view()), path('application//statistics/customer_count', views.ApplicationStatistics.CustomerCount.as_view()),