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

StackOverflow https://stackoverflow.com/questions/2629999

  •  26-09-2019
  •  | 
  •  

Вопрос

В моем текущем веб-приложении мне нужно создать «Механизм очков репутации и значков», чем-то похожий на SO.Эта система содержит множество правил, и каждое правило связано с несколькими предопределенными действиями пользователя (например, просмотр вопроса, голосование и т. д.).

Для чего я пытаюсь найти решение:

  1. Храните все правила в таблицах базы данных (почти каждое правило включает в себя несколько условий).мы можем это сделать?
  2. Чтобы сопоставить каждое действие пользователя с правилами, сохраненными в таблицах базы данных, и назначить соответствующие очки репутации и значки.
    • Проверьте, получил ли пользователь уже вознаграждение в размере порогового значения (например, не голосов или просмотров), определенного в правиле.
    • Выполните определенные действия, такие как продвижение пользователя, уведомление пользователя, запрет пользователя, определенные в нескольких правилах.
  3. Предоставьте пользовательский интерфейс администратору приложения для управления (добавлением новых/редактирования/удаления) правил в приложении.

Любые подсказки будут оценены по достоинству?

Это было полезно?

Решение

База данных, похоже, не является подходящим инструментом для этого требования.Похоже, вам нужно будет реализовать такую ​​логику на уровне приложения.конечно, некоторые значения параметров могут быть взяты из файлов конфигурации.

Если вы действительно хотите этого, один из способов — определить переменные (такие как просмотры, голоса) в столбцах.Вывод, присвоенный вашему значку или баллу репутации, также может быть столбцом, но функцией других столбцов.поэтому таблица будет выглядеть так:
ID_значка__имя на бейдже_Просмотры__голоса
1
_____серебро_____10____2
2
_____золото____100____10

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top