Каждый день при входе обновлять рейтинг

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Каждый день при входе обновлять рейтинг

Сообщение futbolim »

Здравствуйте. Подскажите, кто сталкивался.
Появилась необходимость добавлять пользователю рейтинг ($user->rating) каждый день (например +100) если посещал сайт.
Само собой эта операция должна выполняться один раз с наименьшими трудозатратами, в первую очередь как проверять тот момент, когда эта операция должна выполниться?
На стороне сервера каждый запрос обрабатывать и смотреть куку? По-моему, слишком трудоёмко..
На стороне клиента? ajax + local storage?
Я склоняюсь к клиентскому скрипту, но, погуглив, не нашёл готовые библиотеки. Может пропустил..
Какой механизм посоветуете?
Backend - Yii2.
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Каждый день при входе обновлять рейтинг

Сообщение rodion_zlobin »

Каждый раз смотреть, а как по другому? Пользователь может с разных устройств заходить... Можно попробовать добавить какое-нибудь поле — dayly bonuses, начислять и сбрасывать ежедневно
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Каждый день при входе обновлять рейтинг

Сообщение ElisDN »

Сделать таблицу bonuses с полями user_id, date, bonus и вставлять туда эти 100 по условию if (!Bonus::find()->andWhere(['user_id' => Yii::$app->user->id, 'date' => date('Y-m-d'])->exists()).
Ответить