条件单开仓时写入 opened_at,供中控展示开仓时间。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-06 16:20:33 +08:00
parent 95e713e9e6
commit a957946cfd
+20
View File
@@ -45,6 +45,7 @@ def ensure_cond_order_table(conn: sqlite3.Connection) -> None:
crossed_at TEXT, crossed_at TEXT,
opened_inst_id TEXT, opened_inst_id TEXT,
opened_trade_id INTEGER, opened_trade_id INTEGER,
opened_at TEXT,
message TEXT, message TEXT,
created_at TEXT, created_at TEXT,
updated_at TEXT, updated_at TEXT,
@@ -52,12 +53,29 @@ def ensure_cond_order_table(conn: sqlite3.Connection) -> None:
) )
""" """
) )
try:
conn.execute("ALTER TABLE options_cond_orders ADD COLUMN opened_at TEXT")
except Exception:
pass
conn.execute( conn.execute(
""" """
CREATE INDEX IF NOT EXISTS idx_options_cond_orders_status CREATE INDEX IF NOT EXISTS idx_options_cond_orders_status
ON options_cond_orders(status) ON options_cond_orders(status)
""" """
) )
try:
conn.execute(
"""
UPDATE options_cond_orders
SET opened_at = updated_at
WHERE opened_at IS NULL
AND status = 'open'
AND updated_at IS NOT NULL
AND TRIM(updated_at) != ''
"""
)
except Exception:
pass
def _now() -> str: def _now() -> str:
@@ -715,12 +733,14 @@ def _tick_one(
""" """
UPDATE options_cond_orders SET UPDATE options_cond_orders SET
status='open', opened_inst_id=?, opened_trade_id=?, status='open', opened_inst_id=?, opened_trade_id=?,
opened_at=COALESCE(opened_at, ?),
message=?, updated_at=? message=?, updated_at=?
WHERE hub_order_id=? WHERE hub_order_id=?
""", """,
( (
inst_id, inst_id,
int(trade_id) if trade_id is not None else None, int(trade_id) if trade_id is not None else None,
_now(),
f"已开仓 {inst_id}", f"已开仓 {inst_id}",
_now(), _now(),
order["hub_order_id"], order["hub_order_id"],