fix: 修复连接泄漏、double-put_db、北交所映射缺失

- analysis.py: 6个端点将 put_db(conn) 从 try 移到 finally,异常时不泄漏
- trades.py: 移除 update_trade/delete_trade 中多余的 put_db(conn),避免 double-put 破坏连接池
- trades.py: stoploss_check 补充北交所(8/9开头)腾讯API代码映射
This commit is contained in:
freedakgmail
2026-07-22 07:31:21 +08:00
parent 4e35ab852f
commit 5f5fa7ae80
2 changed files with 13 additions and 11 deletions
+1 -4
View File
@@ -130,7 +130,6 @@ def update_trade(trade_id):
""", (trade_id, user_id))
old_trade = cur.fetchone()
if not old_trade:
put_db(conn)
return jsonify({'error': '交易记录不存在'}), 404
cur.execute("""
@@ -152,7 +151,6 @@ def update_trade(trade_id):
trade = cur.fetchone()
if not trade:
conn.rollback()
put_db(conn)
return jsonify({'error': '交易记录不存在'}), 404
old_delta = _calc_cash_delta(old_trade.get('trade_type'), old_trade.get('price'), old_trade.get('quantity'))
@@ -194,7 +192,6 @@ def delete_trade(trade_id):
""", (trade_id, user_id))
old_trade = cur.fetchone()
if not old_trade:
put_db(conn)
return jsonify({'success': False, 'error': '交易记录不存在'}), 404
cur.execute("DELETE FROM trades WHERE id = %s AND user_id = %s", (trade_id, user_id))
@@ -306,7 +303,7 @@ def check_stoploss():
current_price = 0
try:
import requests as _rq
_tc = ('sh' if code.startswith('6') else 'sz') + code
_tc = ('sh' if code.startswith('6') else 'bj' if code.startswith(('8', '9')) else 'sz') + 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: