Как разработать логику для хранения правил присвоения значков и очков репутации пользователям сайта
-
26-09-2019 - |
Вопрос
В моем текущем веб-приложении мне нужно создать «Механизм очков репутации и значков», чем-то похожий на SO.Эта система содержит множество правил, и каждое правило связано с несколькими предопределенными действиями пользователя (например, просмотр вопроса, голосование и т. д.).
Для чего я пытаюсь найти решение:
- Храните все правила в таблицах базы данных (почти каждое правило включает в себя несколько условий).мы можем это сделать?
- Чтобы сопоставить каждое действие пользователя с правилами, сохраненными в таблицах базы данных, и назначить соответствующие очки репутации и значки.
- Проверьте, получил ли пользователь уже вознаграждение в размере порогового значения (например, не голосов или просмотров), определенного в правиле.
- Выполните определенные действия, такие как продвижение пользователя, уведомление пользователя, запрет пользователя, определенные в нескольких правилах.
- Предоставьте пользовательский интерфейс администратору приложения для управления (добавлением новых/редактирования/удаления) правил в приложении.
Любые подсказки будут оценены по достоинству?
Решение
База данных, похоже, не является подходящим инструментом для этого требования.Похоже, вам нужно будет реализовать такую логику на уровне приложения.конечно, некоторые значения параметров могут быть взяты из файлов конфигурации.
Если вы действительно хотите этого, один из способов — определить переменные (такие как просмотры, голоса) в столбцах.Вывод, присвоенный вашему значку или баллу репутации, также может быть столбцом, но функцией других столбцов.поэтому таблица будет выглядеть так:
ID_значка__имя на бейдже_Просмотры__голоса
1_____серебро_____10____2
2_____золото____100____10