feat: 日报多来源入库(news_event.sources 列,JSON 数组,主源居首)

- EventRow 新增 sources 字段;init_schema 幂等 ALTER 补列(MariaDB)
- save_report 写入 sources JSON;_article_sources_full 完整来源列表
- source 字段保持 ≤3 拼接兼容;新增多源完整列表测试
- 已部署 pi5:sources 列写入验证通过(单源数组);完整多源待新数据
This commit is contained in:
2026-08-12 13:06:01 +08:00
parent 32e99aeaf6
commit 951276a313
7 changed files with 84 additions and 16 deletions
+4 -2
View File
@@ -113,12 +113,13 @@ def save_report(conn: pymysql.Connection, report: ReportData) -> int:
cur.execute("DELETE FROM news_event WHERE report_id=%s", (report_id,))
for ev in report.events:
sources_json = json.dumps(ev.sources, ensure_ascii=False) if ev.sources else None
cur.execute(
"""
INSERT INTO news_event
(report_id, section, rank, importance, event_type, title,
summary, sentiment, source, url)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
summary, sentiment, source, sources, url)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
""",
(
report_id,
@@ -130,6 +131,7 @@ def save_report(conn: pymysql.Connection, report: ReportData) -> int:
ev.summary,
ev.sentiment,
ev.source,
sources_json,
ev.url,
),
)