- Добавлена поддержка 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 для истории
37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?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;
|
||
}
|
||
}
|
||
?>
|
||
|