hmo 25f8c6ec67 refactor: 消费者切 SQLite 优先读取
切换策略: SQLite 优先 → 失败回退 JSON

price_events (100%覆盖):
- strategy_feedback.py: run() 优先 query_price_events()
- system_health_check.py: 优先 query_price_events() + query_price_events_by_date()

stock_sector_map (100%覆盖):
- strategy_lifecycle.py: load_stock_sector_map() 优先 stock_sectors 表

market.json (85%覆盖):
- strategy_lifecycle.py: load_market_context() 优先 query_latest_market()
- market_insight.py: generate() 优先 query_latest_market()

portfolio.json + watchlist.json (70%覆盖):
- strategy_lifecycle.py: regenerate_all() 优先 query_holdings() + query_watchlist()
- server.py: /api/portfolio, /api/watchlist, /api/overview, /api/market 优先 SQLite

所有改动保留 JSON 回退路径,SQLite 不可用时自动降级
2026-06-20 17:50:15 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:43:24 +08:00
2026-06-20 12:44:09 +08:00
2026-06-20 12:43:24 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:43:24 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:43:24 +08:00
2026-06-20 12:43:24 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
2026-06-20 12:04:21 +08:00
S
Description
No description provided
133 MiB
Languages
Python 94.2%
HTML 5.8%