fix:修复项目导入/出后无法加载章节分析状态问题
This commit is contained in:
@@ -13,6 +13,7 @@ from app.models.writing_style import WritingStyle
|
|||||||
from app.models.generation_history import GenerationHistory
|
from app.models.generation_history import GenerationHistory
|
||||||
from app.models.career import Career, CharacterCareer
|
from app.models.career import Career, CharacterCareer
|
||||||
from app.models.memory import StoryMemory, PlotAnalysis
|
from app.models.memory import StoryMemory, PlotAnalysis
|
||||||
|
from app.models.analysis_task import AnalysisTask
|
||||||
from app.models.project_default_style import ProjectDefaultStyle
|
from app.models.project_default_style import ProjectDefaultStyle
|
||||||
from app.schemas.import_export import (
|
from app.schemas.import_export import (
|
||||||
ProjectExportData,
|
ProjectExportData,
|
||||||
@@ -832,9 +833,9 @@ class ImportExportService:
|
|||||||
statistics["story_memories"] = memories_count
|
statistics["story_memories"] = memories_count
|
||||||
logger.info(f"导入故事记忆数: {memories_count}")
|
logger.info(f"导入故事记忆数: {memories_count}")
|
||||||
|
|
||||||
# 导入剧情分析
|
# 导入剧情分析(传入user_id以便创建分析任务记录)
|
||||||
plot_analysis_count = await ImportExportService._import_plot_analysis(
|
plot_analysis_count = await ImportExportService._import_plot_analysis(
|
||||||
new_project.id, data.get("plot_analysis", []), chapter_title_to_id, db
|
new_project.id, data.get("plot_analysis", []), chapter_title_to_id, db, user_id
|
||||||
)
|
)
|
||||||
statistics["plot_analysis"] = plot_analysis_count
|
statistics["plot_analysis"] = plot_analysis_count
|
||||||
logger.info(f"导入剧情分析数: {plot_analysis_count}")
|
logger.info(f"导入剧情分析数: {plot_analysis_count}")
|
||||||
@@ -1260,9 +1261,12 @@ class ImportExportService:
|
|||||||
project_id: str,
|
project_id: str,
|
||||||
plot_data: List[Dict],
|
plot_data: List[Dict],
|
||||||
chapter_mapping: Dict[str, str],
|
chapter_mapping: Dict[str, str],
|
||||||
db: AsyncSession
|
db: AsyncSession,
|
||||||
|
user_id: str = None
|
||||||
) -> int:
|
) -> int:
|
||||||
"""导入剧情分析"""
|
"""导入剧情分析,同时创建已完成的分析任务记录"""
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
count = 0
|
count = 0
|
||||||
for analysis_data in plot_data:
|
for analysis_data in plot_data:
|
||||||
chapter_title = analysis_data.get("chapter_title")
|
chapter_title = analysis_data.get("chapter_title")
|
||||||
@@ -1309,6 +1313,21 @@ class ImportExportService:
|
|||||||
description_ratio=analysis_data.get("description_ratio")
|
description_ratio=analysis_data.get("description_ratio")
|
||||||
)
|
)
|
||||||
db.add(analysis)
|
db.add(analysis)
|
||||||
|
|
||||||
|
# 同时创建已完成的分析任务记录,这样章节管理页面会显示"已分析"状态
|
||||||
|
if user_id:
|
||||||
|
now = datetime.utcnow()
|
||||||
|
analysis_task = AnalysisTask(
|
||||||
|
chapter_id=chapter_id,
|
||||||
|
user_id=user_id,
|
||||||
|
project_id=project_id,
|
||||||
|
status='completed',
|
||||||
|
progress=100,
|
||||||
|
started_at=now,
|
||||||
|
completed_at=now
|
||||||
|
)
|
||||||
|
db.add(analysis_task)
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
return count
|
return count
|
||||||
|
|||||||
Reference in New Issue
Block a user