Народ. А можно мыслишки на тему послушать ? Есть сущность -

Напоминание
Оно может быть для зарегистрированного пользователя (юзер ИД)
или для просто по мылу для кого угодно (это в плане куда шлем напоминание)

так же оно может быть для разных обьектов - событие(по сути некая конкретная дата), повторяющиеся событие(раз в день) и конкретное событие из повторяющегося события

вот я думаю как лучше организовать структуру сущностей
какие есть мысли
1. одна на все целиком - мысль не очень нравится
2. наследование - тоже плоховато потому как дети и будут напоминалками как и родитель, но у всех детей будут свои методы
3. сделать интерфейс и его реализовать - аналогично как у п.2 - вряд ли это можно обьеденить
4. делать на каждый вариант свою сущность ? (RegisteredUserEventReminder, RegisteredUserRecurringEventReminder...) - такое себе удовольствие...

кто что скажет ?

14 ответов

25 просмотров

У нас такое сделано на коллбэках. Сущность одна, бд одна, дальше логика рулится коллбэком для конкретного уведомления.

Dmitry- Автор вопроса
Gleb Oleynik
У нас такое сделано на коллбэках. Сущность одна, б...

т.е у вас по сути ReminderEntity setUserId setEmail setTarget(event|recurringEvent|specificDateAtRecurringEvent) ?

Dmitry
т.е у вас по сути ReminderEntity setUserId s...

практически да, дату создания, дату обновления, дату протухания и дату уведомления храним как отдельные свойства, не привязанные к коллбэку.

Ответ зависит от разницы между разными сущностями и "для email или для зарегистрированного". Возможно общую часть логики можно отделить от ресипиента. Если логика одинаковая то первый вариант. Если нет - надо разбираться где отличия Словом мало инфы

Dmitry- Автор вопроса
Sergey P
Ответ зависит от разницы между разными сущностями ...

разница в привязке к пользователю по ид если для зареганного то потом возьмем его мыло по ид пользователя если для незареганного, то сразу впишем мыло и вписывать сразу мыло зареганного нельзя, его можно сменить у зареганного пользователя, а я не хочу еще и синхронизировать мыло у пользователя и в напоминалке

Dmitry
разница в привязке к пользователю по ид если для ...

1 можно менять мыло в уведомлениях после того как пользователь сменил свое и того разницы не будет 2 Или не вижу смысла в чем разница между зареганым и не зареганым пользоватлем там и там можно создать пользоватля и его мыло. То что пользователь зареган к айди пользовтеля и его емейла имеет совершенно опосредованое отношение. В таком разе тоже разницы нет и можно связывать по айди

Dmitry- Автор вопроса
Sergei Baikin
1 можно менять мыло в уведомлениях после того как ...

у зареганных есть еще как минимум 2 способа оповещения, их можно не только по мылу оповестить

Dmitry
у зареганных есть еще как минимум 2 способа оповещ...

И как это мешает зареганых и не зареганных оповещать по мылу одинаково почему уведломлениям не пофиг на то что зареган он или нет?

Dmitry- Автор вопроса
Sergei Baikin
И как это мешает зареганых и не зареганных оповеща...

так оповещать по мылу их можно одинаково я ж и пытаюсь понять как сделать лучше и что выбрать из приведенных вариантов незареганного только по мылу можно оповестить с этого ремайндера зареганного по мылу + еще 2 канала связи

Dmitry
так оповещать по мылу их можно одинаково я ж и пыт...

Так зачем тут упоминать вообще зареган он или нет У вас есть пользователи у них каналы связи все Факт регистрации не меняет ничего в вашем уравнении

Sergey P
Ответ зависит от разницы между разными сущностями ...

Так у тебя логика зависит от реципиента получается

Dmitry- Автор вопроса
Sergei Baikin
Так зачем тут упоминать вообще зареган он или нет ...

потому что я не хочу перегружать ремайдер синхронизацией с пользователем

Dmitry
потому что я не хочу перегружать ремайдер синхрони...

Протекание связи и знания о регистрациях намного хуже И где там синзронизация? Хотите синхронные запросы по айди делайте по айди просто каждый пользовтель будет иметь свои канылы и пофиг ремайндеру почему у одного один канал а у другого 3 канала ему какая разница ему важны каналы и только каналы

Dmitry- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта