refactor: 下沉 Word 导出执行链到 chat 服务层
This commit is contained in:
@@ -70,6 +70,51 @@ def execute_conversation_agent(
|
||||
return result, audit_log
|
||||
|
||||
|
||||
def execute_conversation_export(*, batch, conversation: Conversation) -> dict:
|
||||
"""
|
||||
在服务层串起 Word 导出、会话摘要更新和审计留痕。
|
||||
|
||||
View 只负责提示成功/失败消息,不直接承载导出编排细节。
|
||||
"""
|
||||
from .export_service import (
|
||||
generate_registration_export,
|
||||
update_conversation_with_export_report,
|
||||
)
|
||||
|
||||
upstream_summary = (
|
||||
(conversation.latest_summary or {}).get("upstream_structured_output")
|
||||
or (conversation.latest_summary or {}).get("structured_output")
|
||||
or {}
|
||||
)
|
||||
export_report = generate_registration_export(
|
||||
batch=batch,
|
||||
conversation=conversation,
|
||||
upstream_summary=upstream_summary,
|
||||
)
|
||||
update_conversation_with_export_report(conversation, export_report)
|
||||
audit_log = create_audit_log(
|
||||
"document_review",
|
||||
"Word 回填导出",
|
||||
"生成 Word 导出文件",
|
||||
AgentResult(
|
||||
answer=export_report.get("summary", ""),
|
||||
structured_output=export_report,
|
||||
status="success",
|
||||
conversation_id=conversation.conversation_id,
|
||||
batch_id=conversation.batch_id,
|
||||
product_name=conversation.product_name,
|
||||
node_results=conversation.node_results,
|
||||
),
|
||||
batch_id=conversation.batch_id,
|
||||
conversation_id=conversation.conversation_id,
|
||||
product_name=conversation.product_name,
|
||||
)
|
||||
return {
|
||||
"export_report": export_report,
|
||||
"audit_log": audit_log,
|
||||
}
|
||||
|
||||
|
||||
def _generate_conversation_id() -> str:
|
||||
return f"conv-{Conversation.objects.count() + 1:03d}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user