fix: 合规审查卡死修复 + 小红书复制格式 + today-only过滤

This commit is contained in:
Yuzhiran Dev
2026-05-27 18:25:30 +08:00
parent 6585909ffc
commit bd3228806d
14 changed files with 278 additions and 148 deletions
+5 -2
View File
@@ -6,7 +6,7 @@
import sys
import os
from pathlib import Path
from datetime import datetime, date
from datetime import datetime, date, timedelta
from typing import Optional, Dict, List
# 加载 .env(在 scripts/ 目录下运行时需要)
@@ -53,7 +53,7 @@ def get_topics_by_status(status: str, db: Optional[Session] = None) -> List[Dict
if close_db:
db.close()
def get_next_topic(priority: Optional[str] = None, db: Optional[Session] = None) -> Optional[Dict]:
def get_next_topic(priority: Optional[str] = None, db: Optional[Session] = None, today_only: bool = False) -> Optional[Dict]:
"""获取下一个待处理的选题(状态为 pending/待处理)"""
close_db = False
if db is None:
@@ -65,6 +65,9 @@ def get_next_topic(priority: Optional[str] = None, db: Optional[Session] = None)
query = db.query(Topic).filter(Topic.status.in_(status_filter))
if priority:
query = query.filter(Topic.priority == priority)
if today_only:
cutoff = datetime.now() - timedelta(hours=24)
query = query.filter(Topic.created_at >= cutoff)
topic = query.order_by(Topic.priority_score.desc().nullslast(), Topic.created_at.asc()).first()
return topic_to_dict(topic) if topic else None
finally: