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

63 lines
1.9 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""
Проверка документов в черновике
"""
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 check_documents():
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
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} не найден!")
return
payload = row['payload'] if isinstance(row['payload'], dict) else json.loads(row['payload'])
print("📋 documents_meta:")
for i, doc in enumerate(payload.get('documents_meta', [])):
print(f" {i+1}. {doc.get('field_label', 'N/A')} - {doc.get('file_id', 'N/A')}")
print("\n📋 documents_uploaded:")
for i, doc in enumerate(payload.get('documents_uploaded', [])):
print(f" {i+1}. {doc.get('type', 'N/A')} / {doc.get('id', 'N/A')} - {doc.get('file_id', 'N/A')}")
print("\n📋 Все file_id в payload:")
# Ищем все file_id в payload
payload_str = json.dumps(payload, ensure_ascii=False)
import re
file_ids = re.findall(r'file_id["\']?\s*:\s*["\']([^"\']+)', payload_str)
for file_id in set(file_ids):
print(f" - {file_id}")
finally:
await conn.close()
if __name__ == "__main__":
asyncio.run(check_documents())