74 lines
2.1 KiB
Python
74 lines
2.1 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
"""
|
|||
|
|
Изменение статуса жалобы на draft
|
|||
|
|
"""
|
|||
|
|
import asyncio
|
|||
|
|
import asyncpg
|
|||
|
|
import json
|
|||
|
|
|
|||
|
|
POSTGRES_HOST = "147.45.189.234"
|
|||
|
|
POSTGRES_PORT = 5432
|
|||
|
|
POSTGRES_DB = "default_db"
|
|||
|
|
POSTGRES_USER = "gen_user"
|
|||
|
|
POSTGRES_PASSWORD = "2~~9_^kVsU?2\\S"
|
|||
|
|
|
|||
|
|
CLAIM_ID = "bddb6815-8e17-4d54-a721-5e94382942c7"
|
|||
|
|
|
|||
|
|
async def set_status_to_draft():
|
|||
|
|
conn = await asyncpg.connect(
|
|||
|
|
host=POSTGRES_HOST,
|
|||
|
|
port=POSTGRES_PORT,
|
|||
|
|
database=POSTGRES_DB,
|
|||
|
|
user=POSTGRES_USER,
|
|||
|
|
password=POSTGRES_PASSWORD
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
try:
|
|||
|
|
# Сначала проверяем текущий статус
|
|||
|
|
row = await conn.fetchrow("""
|
|||
|
|
SELECT id, status_code, payload, updated_at
|
|||
|
|
FROM clpr_claims
|
|||
|
|
WHERE id::text = $1 OR payload->>'claim_id' = $1
|
|||
|
|
ORDER BY updated_at DESC
|
|||
|
|
LIMIT 1
|
|||
|
|
""", CLAIM_ID)
|
|||
|
|
|
|||
|
|
if not row:
|
|||
|
|
print(f"❌ Жалоба с claim_id '{CLAIM_ID}' не найдена")
|
|||
|
|
return
|
|||
|
|
|
|||
|
|
print(f"📋 Текущий статус: {row['status_code']}")
|
|||
|
|
print(f"📋 ID в БД: {row['id']}")
|
|||
|
|
|
|||
|
|
# Обновляем статус на draft
|
|||
|
|
result = await conn.execute("""
|
|||
|
|
UPDATE clpr_claims
|
|||
|
|
SET status_code = 'draft',
|
|||
|
|
updated_at = now()
|
|||
|
|
WHERE id = $1
|
|||
|
|
""", row['id'])
|
|||
|
|
|
|||
|
|
print(f"✅ Статус обновлён на 'draft'")
|
|||
|
|
print(f"📋 Результат: {result}")
|
|||
|
|
|
|||
|
|
# Проверяем новый статус
|
|||
|
|
new_row = await conn.fetchrow("""
|
|||
|
|
SELECT status_code, updated_at
|
|||
|
|
FROM clpr_claims
|
|||
|
|
WHERE id = $1
|
|||
|
|
""", row['id'])
|
|||
|
|
|
|||
|
|
print(f"\n📋 Новый статус: {new_row['status_code']}")
|
|||
|
|
print(f"📋 Обновлено: {new_row['updated_at']}")
|
|||
|
|
|
|||
|
|
except Exception as e:
|
|||
|
|
print(f"❌ Ошибка: {e}")
|
|||
|
|
import traceback
|
|||
|
|
traceback.print_exc()
|
|||
|
|
finally:
|
|||
|
|
await conn.close()
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
asyncio.run(set_status_to_draft())
|
|||
|
|
|