update:1.更新支持编辑章节概要内容
This commit is contained in:
+23
-13
@@ -2856,11 +2856,11 @@ async def update_chapter_expansion_plan(
|
||||
db: AsyncSession = Depends(get_db)
|
||||
):
|
||||
"""
|
||||
更新章节的展开规划信息
|
||||
更新章节的展开规划信息和情节概要
|
||||
|
||||
Args:
|
||||
chapter_id: 章节ID
|
||||
expansion_plan: 规划信息更新数据
|
||||
expansion_plan: 规划信息更新数据(包含summary和expansion_plan字段)
|
||||
|
||||
Returns:
|
||||
更新后的章节规划信息
|
||||
@@ -2881,18 +2881,27 @@ async def update_chapter_expansion_plan(
|
||||
# 准备更新数据(排除None值)
|
||||
plan_data = expansion_plan.model_dump(exclude_unset=True, exclude_none=True)
|
||||
|
||||
# 如果已有规划,合并更新;否则创建新规划
|
||||
if chapter.expansion_plan:
|
||||
try:
|
||||
existing_plan = json.loads(chapter.expansion_plan)
|
||||
# 合并更新
|
||||
existing_plan.update(plan_data)
|
||||
chapter.expansion_plan = json.dumps(existing_plan, ensure_ascii=False)
|
||||
except json.JSONDecodeError:
|
||||
logger.warning(f"章节 {chapter_id} 的expansion_plan格式错误,将覆盖")
|
||||
# 分离summary和expansion_plan数据
|
||||
summary_value = plan_data.pop('summary', None)
|
||||
|
||||
# 更新summary字段(如果提供)
|
||||
if summary_value is not None:
|
||||
chapter.summary = summary_value
|
||||
logger.info(f"更新章节概要: {chapter_id}")
|
||||
|
||||
# 更新expansion_plan字段(如果有其他字段)
|
||||
if plan_data:
|
||||
if chapter.expansion_plan:
|
||||
try:
|
||||
existing_plan = json.loads(chapter.expansion_plan)
|
||||
# 合并更新
|
||||
existing_plan.update(plan_data)
|
||||
chapter.expansion_plan = json.dumps(existing_plan, ensure_ascii=False)
|
||||
except json.JSONDecodeError:
|
||||
logger.warning(f"章节 {chapter_id} 的expansion_plan格式错误,将覆盖")
|
||||
chapter.expansion_plan = json.dumps(plan_data, ensure_ascii=False)
|
||||
else:
|
||||
chapter.expansion_plan = json.dumps(plan_data, ensure_ascii=False)
|
||||
else:
|
||||
chapter.expansion_plan = json.dumps(plan_data, ensure_ascii=False)
|
||||
|
||||
await db.commit()
|
||||
await db.refresh(chapter)
|
||||
@@ -2904,6 +2913,7 @@ async def update_chapter_expansion_plan(
|
||||
|
||||
return {
|
||||
"id": chapter.id,
|
||||
"summary": chapter.summary,
|
||||
"expansion_plan": updated_plan,
|
||||
"message": "规划信息更新成功"
|
||||
}
|
||||
|
||||
@@ -130,6 +130,7 @@ class SceneData(BaseModel):
|
||||
|
||||
class ExpansionPlanUpdate(BaseModel):
|
||||
"""章节规划更新模型"""
|
||||
summary: Optional[str] = Field(None, description="章节情节概要")
|
||||
key_events: Optional[List[str]] = Field(None, description="关键事件列表")
|
||||
character_focus: Optional[List[str]] = Field(None, description="涉及角色列表")
|
||||
emotional_tone: Optional[str] = Field(None, description="情感基调")
|
||||
|
||||
Reference in New Issue
Block a user