条件单开仓时写入 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,
opened_inst_id TEXT,
opened_trade_id INTEGER,
opened_at TEXT,
message TEXT,
created_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(
"""
CREATE INDEX IF NOT EXISTS idx_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:
@@ -715,12 +733,14 @@ def _tick_one(
"""
UPDATE options_cond_orders SET
status='open', opened_inst_id=?, opened_trade_id=?,
opened_at=COALESCE(opened_at, ?),
message=?, updated_at=?
WHERE hub_order_id=?
""",
(
inst_id,
int(trade_id) if trade_id is not None else None,
_now(),
f"已开仓 {inst_id}",
_now(),
order["hub_order_id"],