Files
crm.clientright.ru/parsers/CourtParserFactory.php

37 lines
1.3 KiB
PHP
Raw Normal View History

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
<?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;
}
}
?>