fix: close broker uncertainty audit gaps
This commit is contained in:
@@ -341,6 +341,8 @@ class PostgreSQLSlotRepository:
|
||||
slot_id: UUID,
|
||||
broker_order_id: str,
|
||||
state: str,
|
||||
*,
|
||||
only_if_unset: bool = False,
|
||||
) -> bool:
|
||||
now = datetime.now(tz=timezone.utc)
|
||||
with self._psycopg.connect(self._dsn, autocommit=False) as conn:
|
||||
@@ -349,8 +351,16 @@ class PostgreSQLSlotRepository:
|
||||
"UPDATE daily_slot SET cancel_state=%s, "
|
||||
"cancel_requested_at=%s, updated_at=%s "
|
||||
"WHERE slot_id=%s AND broker_order_id=%s "
|
||||
"AND status IN ('pending_buy','pending_sell')",
|
||||
(state, now, now, slot_id, broker_order_id),
|
||||
"AND status IN ('pending_buy','pending_sell') "
|
||||
"AND (%s = FALSE OR cancel_state IS NULL)",
|
||||
(
|
||||
state,
|
||||
now,
|
||||
now,
|
||||
slot_id,
|
||||
broker_order_id,
|
||||
only_if_unset,
|
||||
),
|
||||
)
|
||||
ok = cur.rowcount == 1
|
||||
conn.commit()
|
||||
|
||||
@@ -8,4 +8,6 @@ ALTER TABLE daily_slot
|
||||
|
||||
ALTER TABLE daily_slot
|
||||
ADD CONSTRAINT daily_slot_venue_check
|
||||
CHECK (venue IN ('KRX', 'NXT', 'SOR'));
|
||||
-- apply_migrations() replays every file on each boot. Keep this historical
|
||||
-- migration compatible with AUTO rows introduced by migration 019.
|
||||
CHECK (venue IN ('AUTO', 'KRX', 'NXT', 'SOR'));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- dcy-041 / GitHub #45: account-scoped last healthy KIS snapshot.
|
||||
-- account_hash is SHA-256(CANO|ACNT_PRDT_CD); no plaintext account identity,
|
||||
-- account_hash is SHA-256(base_url|CANO|ACNT_PRDT_CD|app_key); no plaintext identity,
|
||||
-- token, key, order response, or broker payload is persisted.
|
||||
CREATE TABLE IF NOT EXISTS broker_account_snapshot (
|
||||
account_hash TEXT PRIMARY KEY,
|
||||
|
||||
Reference in New Issue
Block a user