This commit is contained in:
aaron 2026-02-11 20:54:52 +08:00
parent 6dea177565
commit a0c2340170

View File

@ -267,10 +267,13 @@ class PaperTradingService:
db.commit() db.commit()
db.refresh(db_order) db.refresh(db_order)
# 同步更新内存缓存 # 使用 make_transient 将对象从会话中分离,使其成为独立对象
order.status = OrderStatus.OPEN from sqlalchemy.orm import make_transient
order.filled_price = filled_price db.expunge(db_order) # 从会话中移除
order.opened_at = db_order.opened_at make_transient(db_order) # 使对象独立
# 用独立的对象替换内存缓存中的旧对象
self.active_orders[order.order_id] = db_order
logger.info(f"挂单已激活: {order.order_id} | {order.symbol} {order.side.value} @ ${filled_price:,.2f}") logger.info(f"挂单已激活: {order.order_id} | {order.symbol} {order.side.value} @ ${filled_price:,.2f}")
@ -280,7 +283,6 @@ class PaperTradingService:
'order_id': order.order_id, 'order_id': order.order_id,
'symbol': order.symbol, 'symbol': order.symbol,
'side': order.side.value, 'side': order.side.value,
'entry_price': order.entry_price,
'filled_price': filled_price, 'filled_price': filled_price,
'quantity': order.quantity, 'quantity': order.quantity,
'signal_grade': order.signal_grade.value if order.signal_grade else None, 'signal_grade': order.signal_grade.value if order.signal_grade else None,