diff --git a/stock-html/routes/sim_trade.py b/stock-html/routes/sim_trade.py index 028691e..e0f981e 100644 --- a/stock-html/routes/sim_trade.py +++ b/stock-html/routes/sim_trade.py @@ -4,7 +4,7 @@ """ from flask import Blueprint, request, jsonify from datetime import datetime, date, time -from db import get_db, login_required, get_current_user_id +from db import get_db, put_db, login_required, get_current_user_id from psycopg2.extras import RealDictCursor bp = Blueprint('sim_trade', __name__, url_prefix='/api/sim') @@ -623,12 +623,12 @@ def trigger_trade(): try: # 优先使用智能引擎 + smart_conn = None try: from services.smart_trade_engine import execute_smart_trade - conn = get_db() - if conn: - result = execute_smart_trade(conn, user_id, scan_date=None) - put_db(conn) + smart_conn = get_db() + if smart_conn: + result = execute_smart_trade(smart_conn, user_id, scan_date=None) if result.get('success'): results = result.get('results', []) buy_count = len([r for r in results if r['type'] == 'buy']) @@ -641,6 +641,9 @@ def trigger_trade(): }) except Exception as e: print(f"[trigger_trade] 智能引擎异常,降级: {e}") + finally: + if smart_conn: + put_db(smart_conn) # 降级: 使用旧引擎 from services.scheduler import execute_auto_trade_for_user diff --git a/stock-html/routes/smart_trade.py b/stock-html/routes/smart_trade.py index 0c74b18..30ce411 100644 --- a/stock-html/routes/smart_trade.py +++ b/stock-html/routes/smart_trade.py @@ -4,7 +4,7 @@ """ from flask import Blueprint, request, jsonify from datetime import date -from db import get_db, login_required, get_current_user_id +from db import get_db, put_db, login_required, get_current_user_id from psycopg2.extras import RealDictCursor bp = Blueprint('smart_trade', __name__, url_prefix='/api/smart')