feat: 内容数据迁移至数据库,合规审查全链路打通
- 文章 HTML 存储从文件系统迁移至 articles 表,删除 releases 目录 - 合规审查从 DB 读取 HTML,审查结果写回 DB,通过后自动推进至待发布 - 新增 todayCount 筛选按钮,与系统概览统计数据一致 - 全屏预览修复:提升 z-index 超过侧边栏,添加退出全屏/关闭按钮 - 统一 '优化' → '审查' 命名,消除前后端术语不一致 - 调度器创作完成后自动触发审查(生成 → 审查 → 待发布) - 清理旧备份/调试文件、过期大纲和研究笔记
This commit is contained in:
@@ -1,17 +1,21 @@
|
||||
#!/usr/bin/env python3
|
||||
import json
|
||||
data = json.load(open('automation/data/sustainability_topics.json', 'r', encoding='utf-8'))
|
||||
import sys
|
||||
from pathlib import Path
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
from db_helper import export_topics_to_json
|
||||
|
||||
topics = export_topics_to_json()
|
||||
print(f'✅ 宇之然选题库(新战略版)')
|
||||
print(f'总选题数: {len(data)}')
|
||||
print(f'已发布: {len([t for t in data if t["status"]=="已发布"])}')
|
||||
print(f'待处理: {len([t for t in data if t["status"]=="待处理"])}')
|
||||
print(f'总选题数: {len(topics)}')
|
||||
print(f'已发布: {len([t for t in topics if t["status"]=="published"])}')
|
||||
print(f'待处理: {len([t for t in topics if t["status"] in ("pending", "待处理")])}')
|
||||
print('\n按领域分组:')
|
||||
fields = {}
|
||||
for t in sorted(data, key=lambda x: x['id']):
|
||||
for t in sorted(topics, key=lambda x: x['id']):
|
||||
f = t['field']
|
||||
fields.setdefault(f, []).append(t)
|
||||
for f, items in fields.items():
|
||||
print(f'\n{f} ({len(items)}个):')
|
||||
for t in items:
|
||||
status_icon = '✅' if t['status']=='已发布' else '⏳'
|
||||
status_icon = '✅' if t['status']=='published' else '⏳'
|
||||
print(f' {status_icon} {t["id"]} {t["title"]}')
|
||||
|
||||
Reference in New Issue
Block a user