- Реализована функция createMailNotification() в simple_project_updater_v2.php - Автоматическое создание уведомлений VDNotifierPro при поступлении документов - Уведомления отправляются ответственному по проекту - Исправлен формат ссылок (без index.php? для корректной работы в VDNotifierPro) - Защита от дубликатов - обновление существующих непрочитанных уведомлений - Добавлена документация MAIL_NOTIFICATION_SYSTEM.md - Протестировано и работает корректно
6.5 KiB
Система уведомлений о приходе писем
Дата: 16 октября 2025
Статус: ✅ Реализовано и протестировано
Описание
Интегрирована система уведомлений в существующий процесс обработки судебных документов (simple_project_updater_v2.php). Теперь при поступлении письма от суда автоматически создается уведомление для ответственного по проекту.
Как это работает
1. Процесс обработки письма
- Письмо поступает → n8n обрабатывает → вызывает
simple_project_updater_v2.php - Система ищет проект по ФИО истца, номеру дела, УИД
- Создается документ в CRM с привязкой к проекту
- Загружается файл в S3 хранилище
- 🆕 Создается уведомление для ответственного по проекту
2. Структура уведомления
INSERT INTO vtiger_vdnotifierpro (
userid, -- Ответственный по проекту
modulename, -- 'Documents'
crmid, -- ID документа
link, -- Ссылка на документ
title, -- "Письмо от [ФИО] - [тип документа]"
status -- 5 (непрочитанное)
)
3. Пример уведомления
- Текст: "Письмо от Агеев Дмитрий - ОПРЕДЕЛЕНИЕ суда"
- Ссылка:
module=Documents&view=Detail&record=123456(без index.php?) - Получатель: Ответственный по проекту (пользователь 8)
Технические детали
Функция createMailNotification()
function createMailNotification($projectId, $documentId, $documentTitle, $plaintiffFio) {
// 1. Получаем ответственного по проекту
// 2. Формируем текст уведомления
// 3. Проверяем дубликаты
// 4. Создаем или обновляем уведомление
}
Интеграция в основной процесс
// После успешной привязки документа к проекту
if ($linkSuccess) {
// Создаем уведомление о приходе письма
$notificationId = createMailNotification($project_id, $documentNumericId, $document_title, $plaintiff_fio);
}
Обработка дубликатов
- Если уведомление для документа уже существует → обновляется время
- Если уведомления нет → создается новое
- Статус
5= непрочитанное уведомление
Результаты тестирования
✅ Тест прошел успешно
=== Тест исправленной системы уведомлений ===
Тестовые данные:
- Проект ID: 390657 (Агеев ООО СКИЛБОКС)
- Документ ID: 395297 (реальный документ)
- Ответственный: пользователь 8
✅ Новое уведомление создано с ID: 6869
✅ Текст: "Письмо от Губанова Анна Евгеньевна - ОПРЕДЕЛЕНИЕ суда"
✅ Ссылка: "module=Documents&view=Detail&record=395297" (исправлено!)
Проверка в CRM
- Войти в CRM под пользователем 8 (Фёдор Коробков)
- Посмотреть панель уведомлений (справа вверху)
- Увидеть уведомление: "Письмо от Агеев Дмитрий - ОПРЕДЕЛЕНИЕ суда"
- Кликнуть на уведомление → откроется документ
Файлы
Измененные файлы:
- ✅
crm_extensions/simple_project_updater_v2.php- добавлена функция уведомлений
Новые файлы:
- ✅
test_mail_notification.php- тестовый скрипт
Логирование
Все действия логируются в crm_extensions/logs/project_update.log:
2025-10-16 15:11:36 - INFO: Создаем уведомление для проекта 390657 о документе 123456
2025-10-16 15:11:36 - DEBUG: Ответственный по проекту: пользователь 8
2025-10-16 15:11:36 - SUCCESS: Создано новое уведомление ID: 6867 для пользователя 8
Исправления
🔧 Проблема со ссылками (исправлено)
Проблема: Ссылки в уведомлениях не работали - показывали пустую страницу
Причина: VDNotifierPro автоматически убирает index.php? из ссылок
Решение: Изменили формат ссылки с index.php?module=Documents&view=Detail&record=123456 на module=Documents&view=Detail&record=123456
Преимущества
- Автоматизация - уведомления создаются автоматически
- Интеграция - использует существующую систему VDNotifierPro
- Умная логика - показывает уведомления только ответственному по проекту
- Защита от дубликатов - не создает множественные уведомления
- Прямая ссылка - клик ведет сразу к документу
- Исправленные ссылки - работают корректно в CRM
Использование
Система работает автоматически при обработке писем через simple_project_updater_v2.php. Никаких дополнительных действий не требуется.
Для тестирования:
php test_mail_notification.php
Статус: ✅ Готово к использованию
Автор: AI Assistant + Фёдор
Дата: 16 октября 2025