diff --git a/ticket_form/backend/app/api/claims.py b/ticket_form/backend/app/api/claims.py index 19383055..1eff6d95 100644 --- a/ticket_form/backend/app/api/claims.py +++ b/ticket_form/backend/app/api/claims.py @@ -211,7 +211,10 @@ async def list_drafts( logger.info(f"🔍 Searching by unified_id: {unified_id}") elif phone: # Fallback: ищем через clpr_user_accounts и clpr_users, ИЛИ напрямую по телефону в payload - # Это нужно, если unified_id не был установлен при создании заявления + # Поддерживаем разные форматы телефона: 71234543212, +71234543212, 81234543212 + # Нормализуем телефон для поиска (убираем + и заменяем 8 на 7) + normalized_phone = phone.lstrip('+').replace('8', '7', 1) if phone.startswith('8') else phone.lstrip('+') + query = """ SELECT DISTINCT c.id, @@ -231,19 +234,27 @@ async def list_drafts( FROM clpr_user_accounts ua JOIN clpr_users u ON u.id = ua.user_id WHERE ua.channel = 'web_form' - AND ua.channel_user_id = $1 + AND (ua.channel_user_id = $1 OR ua.channel_user_id = $2 OR ua.channel_user_id = $3) LIMIT 1 ) - -- Вариант 2: Прямой поиск по телефону в payload (если unified_id не установлен) - OR (c.unified_id IS NULL AND c.payload->>'phone' = $1) + -- Вариант 2: Прямой поиск по телефону в payload (в разных форматах) + OR c.payload->>'phone' = $1 + OR c.payload->>'phone' = $2 + OR c.payload->>'phone' = $3 ) AND (c.status_code != 'approved' OR c.status_code IS NULL) AND (c.is_confirmed IS NULL OR c.is_confirmed = false) ORDER BY c.updated_at DESC LIMIT 20 """ - params = [phone] - logger.info(f"🔍 Searching by phone (fallback): {phone}") + # Подготавливаем варианты телефона для поиска + phone_variants = [ + phone, # Оригинальный формат + f"+{phone}", # С плюсом + phone.replace('7', '8', 1) if phone.startswith('7') else phone # С 8 вместо 7 + ] + params = phone_variants + logger.info(f"🔍 Searching by phone (fallback): {phone}, variants: {phone_variants}") elif session_id: # Fallback: поиск по session_token query = """ diff --git a/workflow2_lock b/workflow2_lock deleted file mode 100644 index a93f059a..00000000 --- a/workflow2_lock +++ /dev/null @@ -1 +0,0 @@ -locked \ No newline at end of file