diff --git a/stock-html/routes/analysis.py b/stock-html/routes/analysis.py
index 65b0bdd..3b5dc33 100644
--- a/stock-html/routes/analysis.py
+++ b/stock-html/routes/analysis.py
@@ -340,6 +340,7 @@ def ai_analyze_stream(stock_code):
stock_name = get_stock_name(stock_code) or stock_code
# 获取资金流向和技术信号
+ conn = None
try:
conn = get_db()
if conn:
@@ -384,12 +385,14 @@ def ai_analyze_stream(stock_code):
stock_data['indicators'] = scan_row['indicators'] or {}
stock_data['triggered_count'] = scan_row['triggered_count'] or 0
cur2.close()
-
- put_db(conn)
except Exception as e:
print(f"获取数据失败: {e}")
-
+ finally:
+ if conn:
+ put_db(conn)
+
# 记录AI调用日志
+ _conn = None
try:
from flask import session as _sess
_uid = _sess.get('user_id')
@@ -400,9 +403,11 @@ def ai_analyze_stream(stock_code):
_cur.execute("INSERT INTO ai_call_log (user_id, stock_code, stock_name) VALUES (%s, %s, %s)",
(_uid, stock_code, stock_name))
_conn.commit()
- put_db(_conn)
except Exception:
pass
+ finally:
+ if _conn:
+ put_db(_conn)
# 流式调用AI
for chunk in analyze_stock_stream(stock_code, stock_name, stock_data):
@@ -447,6 +452,7 @@ def ai_analyze(stock_code):
stock_name = get_stock_name(stock_code) or stock_code
# 获取近三日资金流向
+ conn = None
try:
conn = get_db()
if conn:
@@ -468,9 +474,11 @@ def ai_analyze(stock_code):
'super_pct': float(row[3]) if row[3] else 0,
})
stock_data['fund_flow_3days'] = fund_flow
- put_db(conn)
except Exception as e:
print(f"获取资金流向失败: {e}")
+ finally:
+ if conn:
+ put_db(conn)
# 调用AI分析
result = analyze_stock(stock_code, stock_name, stock_data)
diff --git a/stock-html/routes/market.py b/stock-html/routes/market.py
index f96e5a5..ed8aec3 100644
--- a/stock-html/routes/market.py
+++ b/stock-html/routes/market.py
@@ -485,7 +485,7 @@ def get_fundamental(stock_code):
# 备用方案:先试腾讯API,再试akshare
try:
import requests as _rq
- _tc = ('sh' if stock_code.startswith('6') else 'sz') + stock_code
+ _tc = ('sh' if stock_code.startswith('6') else 'bj' if stock_code.startswith(('8', '9')) else 'sz') + stock_code
_rr = _rq.get(f'http://qt.gtimg.cn/q={_tc}', timeout=5,
headers={'Referer': 'https://finance.qq.com'})
if _rr.status_code == 200 and '\"' in _rr.text: