Merge pull request #361 from SuanmoSuanyangTechnology/fix/workflow-json

fix(workflow): resolve JSON serialization error for workflow input parameters
This commit is contained in:
Mark
2026-02-07 15:02:29 +08:00
committed by GitHub

View File

@@ -2,6 +2,7 @@
工作流服务层 工作流服务层
""" """
import datetime import datetime
import json
import logging import logging
import uuid import uuid
from typing import Any, Annotated, Optional from typing import Any, Annotated, Optional
@@ -447,9 +448,13 @@ class WorkflowService:
message=f"工作流配置不存在: app_id={app_id}" message=f"工作流配置不存在: app_id={app_id}"
) )
json_files = []
for file in payload.files:
file_json = json.loads(file.model_dump_json())
json_files.append(file_json)
input_data = {"message": payload.message, "variables": payload.variables, input_data = {"message": payload.message, "variables": payload.variables,
"conversation_id": payload.conversation_id, "conversation_id": payload.conversation_id,
"files": [file.model_dump() for file in payload.files] if payload.files else [] "files": json_files
} }
# 转换 conversation_id 为 UUID # 转换 conversation_id 为 UUID
@@ -636,9 +641,14 @@ class WorkflowService:
code=BizCode.CONFIG_MISSING, code=BizCode.CONFIG_MISSING,
message=f"工作流配置不存在: app_id={app_id}" message=f"工作流配置不存在: app_id={app_id}"
) )
json_files = []
for file in payload.files:
file_json = json.loads(file.model_dump_json())
json_files.append(file_json)
input_data = {"message": payload.message, "variables": payload.variables, input_data = {"message": payload.message, "variables": payload.variables,
"conversation_id": payload.conversation_id, "conversation_id": payload.conversation_id,
"files": [file.model_dump() for file in payload.files] if payload.files else [] "files": json_files
} }
# 转换 conversation_id 为 UUID # 转换 conversation_id 为 UUID