feat: 内容数据迁移至数据库,合规审查全链路打通
- 文章 HTML 存储从文件系统迁移至 articles 表,删除 releases 目录 - 合规审查从 DB 读取 HTML,审查结果写回 DB,通过后自动推进至待发布 - 新增 todayCount 筛选按钮,与系统概览统计数据一致 - 全屏预览修复:提升 z-index 超过侧边栏,添加退出全屏/关闭按钮 - 统一 '优化' → '审查' 命名,消除前后端术语不一致 - 调度器创作完成后自动触发审查(生成 → 审查 → 待发布) - 清理旧备份/调试文件、过期大纲和研究笔记
This commit is contained in:
+11
-45
@@ -1,73 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
调整选题优先级(数据库 + JSON 备份)
|
||||
"""
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
|
||||
PROJECT_ROOT = Path(__file__).parent.parent
|
||||
sys.path.insert(0, str(PROJECT_ROOT))
|
||||
sys.path.insert(0, str(PROJECT_ROOT / 'platform' / 'backend'))
|
||||
|
||||
try:
|
||||
from db_helper import get_topic_by_id, update_topic_status
|
||||
from app.database import SessionLocal
|
||||
from app.models import Topic as DBTopic
|
||||
HAVE_DB = True
|
||||
except ImportError:
|
||||
HAVE_DB = False
|
||||
print("Warning: db_helper not available, will only update JSON")
|
||||
|
||||
DATA_DIR = PROJECT_ROOT / "automation" / "data"
|
||||
TOPICS_FILE = DATA_DIR / "sustainability_topics.json"
|
||||
|
||||
def adjust_json_priority(adjustments):
|
||||
try:
|
||||
with open(TOPICS_FILE, 'r', encoding='utf-8') as f:
|
||||
topics = json.load(f)
|
||||
except:
|
||||
topics = []
|
||||
updated = []
|
||||
for t in topics:
|
||||
if t['id'] in adjustments:
|
||||
old = t.get('priority_score', 0)
|
||||
t['priority_score'] = adjustments[t['id']]
|
||||
updated.append(f"{t['id']}: {old} -> {adjustments[t['id']]}")
|
||||
with open(TOPICS_FILE, 'w', encoding='utf-8') as f:
|
||||
json.dump(topics, f, ensure_ascii=False, indent=2)
|
||||
return updated
|
||||
from db_helper import get_topic_by_id
|
||||
from app.database import SessionLocal
|
||||
from app.models import Topic as DBTopic
|
||||
|
||||
def adjust_db_priority(adjustments):
|
||||
if not HAVE_DB:
|
||||
return []
|
||||
updated = []
|
||||
db = SessionLocal()
|
||||
try:
|
||||
for tid, new_score in adjustments.items():
|
||||
topic = db.query(DBTopic).filter(DBTopic.id == tid).first()
|
||||
if topic:
|
||||
old = topic.priority_score
|
||||
topic.priority_score = new_score
|
||||
topic.updated_at = datetime.now()
|
||||
updated.append(f"{tid}: {topic.priority_score} -> {new_score}")
|
||||
updated.append(f"{tid}: {old} -> {new_score}")
|
||||
db.commit()
|
||||
finally:
|
||||
db.close()
|
||||
return updated
|
||||
|
||||
def main():
|
||||
# 定义需要调整的优先级:ID -> 新分数
|
||||
adjustments = {
|
||||
'D01': 11,
|
||||
'B05': 10
|
||||
}
|
||||
adjustments = {'D01': 11, 'B05': 10}
|
||||
print("调整优先级...")
|
||||
db_updated = adjust_db_priority(adjustments) if HAVE_DB else []
|
||||
if db_updated:
|
||||
print("[DB] updated:", ', '.join(db_updated))
|
||||
json_updated = adjust_json_priority(adjustments)
|
||||
print("[JSON] updated:", ', '.join(json_updated))
|
||||
updated = adjust_db_priority(adjustments)
|
||||
if updated:
|
||||
print("[DB] updated:", ', '.join(updated))
|
||||
print("完成")
|
||||
|
||||
if __name__ == "__main__":
|
||||
import json, datetime
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user