feat: 每日AI分析改造——定调摘要、环比快照、完整连板梯队带涨停原因、生成次数记账

This commit is contained in:
Sakurasan
2026-09-02 02:59:14 +08:00
parent 375d196fef
commit 0fb2f8d3a5
9 changed files with 265 additions and 21 deletions
+20
View File
@@ -82,9 +82,19 @@ CREATE TABLE IF NOT EXISTS ai_reports (
tools_used TEXT,
model TEXT NOT NULL,
tokens_used INTEGER,
generation_count INTEGER NOT NULL DEFAULT 1,
created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')),
updated_at TEXT,
UNIQUE(trade_date, report_type)
);
CREATE TABLE IF NOT EXISTS daily_market_stats (
id INTEGER PRIMARY KEY AUTOINCREMENT,
trade_date TEXT NOT NULL,
payload TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')),
UNIQUE(trade_date)
);
"""
@@ -107,6 +117,16 @@ def init_db():
conn = get_connection()
conn.executescript(SCHEMA_SQL)
# 轻量迁移:为已存在的旧表补列(CREATE TABLE IF NOT EXISTS 不会更新旧表结构)
for alter_sql in (
"ALTER TABLE ai_reports ADD COLUMN generation_count INTEGER NOT NULL DEFAULT 1",
"ALTER TABLE ai_reports ADD COLUMN updated_at TEXT",
):
try:
conn.execute(alter_sql)
except sqlite3.OperationalError:
pass # 列已存在
# 清理过期缓存
from services.cache import clean_expired
clean_expired()