Расширенная система уведомлений (уведомление только о непрочитанных сообщениях) - PullRequest
0 голосов
/ 06 сентября 2018

Я создаю приложение на основе Laravel 5.6 с функциональностью живого чата (использует Pushier). Мне нужно уведомлять пользователей по электронной почте о новых сообщениях. Проблема в том, что я не должен отправлять уведомления каждый раз, когда сообщение отправлено, потому что пользователь может быть в сети и получить это сообщение. Также, если тема была 20 сообщений в минуту, мне не нужно отправлять 20 писем, только одно с «у вас есть новые сообщения».

Моя идея такова: 1. в каждом сообщении есть Laravel Уведомление «Сообщение получено». Если пользователь онлайн - уведомление удаляется. Таким образом, в таблице уведомлений у меня есть уведомления о неполученных сообщениях. 2. Я должен запустить задачу (например, каждые 15 минут) и, если есть уведомления для отправленного пользователем электронного письма "У вас есть непрочитанные сообщения". 3. Теперь у меня проблема в том, что если пользователь не будет читать уведомления в течение 15 минут - он снова получит электронное письмо. Поэтому мне нужно сохранить в какой-либо таблице (или расширить текущую таблицу уведомлений с пометкой) данные об уведомлениях, которые уже были отправлены по электронной почте. .

Мой подход правильный? Спасибо!

...