Files
crm.clientright.ru/parsers/CourtParserFactory.php
Fedor 3db9d06c86 feat: Интеграция уведомлений для событий судов
- Добавлена поддержка project_id в parscourt.php для создания уведомлений
- Создана система парсеров судов (BaseCourtParser, MoscowCourtParser, RegionalCourtParser)
- Интегрирован Browserless для парсинга московских судов (mos-sud.ru, mos-gorsud.ru)
- Добавлены уведомления VDNotifierPro при обнаружении новых событий судов
- Создан ParseAndCreateEvent.php для интеграции с CRM workflow
- Создан CreateCourtEvent_v2.php для прямого создания событий в календаре CRM
- Поддержка проверки дубликатов событий (можно отключить для тестирования)
- Автоматическое определение типа суда и выбор подходящего парсера

Функции:
- Парсинг региональных судов (*.sudrf.ru) через HTML
- Парсинг московских судов через Browserless API
- Создание событий в CRM календаре с привязкой к проектам
- Уведомления ответственных пользователей о новых событиях
- Сохранение событий в таблицу subject для истории
2025-10-17 19:45:11 +03:00

37 lines
1.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
require_once 'RegionalCourtParser.php';
require_once 'MoscowCourtParser.php';
/**
* Фабрика для создания подходящего парсера
*/
class CourtParserFactory {
/**
* Получить подходящий парсер для данной ссылки
* @param string $url URL страницы дела
* @param PDO $pdo Соединение с БД
* @param string $case_number Номер дела
* @param string $uid УИД дела
* @param bool $skip_duplicate_check Пропустить проверку дубликатов (для тестирования)
* @param int|null $project_id ID проекта для уведомлений
* @return BaseCourtParser|null
*/
public static function getParser($url, $pdo, $case_number, $uid, $skip_duplicate_check = false, $project_id = null) {
$parsers = [
new MoscowCourtParser($pdo, $case_number, $uid, $skip_duplicate_check, $project_id),
new RegionalCourtParser($pdo, $case_number, $uid, $skip_duplicate_check, $project_id),
];
foreach ($parsers as $parser) {
if ($parser->canHandle($url)) {
return $parser;
}
}
return null;
}
}
?>