Files
crm.clientright.ru/ticket_form/set_claim_status_to_draft.py

74 lines
2.1 KiB
Python
Raw Normal View History

#!/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())