fix: 合规审查卡死修复 + 小红书复制格式 + today-only过滤
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user