[Решено] Обработка входящих сообщений с смс-шлюза

Главные вкладки

Аватар пользователя alexcovax alexcovax 9 июля 2015 в 10:10

Добрый день.

Ситуация следующая:
Смс-шлюз при получении сообщения на определенный номер post'ом отправляет на мой сайт его параметры (грубо говоря, id, номер отправителя, текст сообщения и время получения).

Задача минимум была получить и отобразить сообщения у себя на сайте. Для этого я написал простенький модуль, который при получении данных от смс-шлюза записывает их в свою таблицу в БД, а дальше уже из этой таблицы просто через views вывожу список сообщений на сайте. Т.е. без создания нод под каждое сообщение, просто записываю в базу и показываю вьюсом из нее.

Теперь стоят следующие задачи:
1. Дать модератору возможность проставлять сообщению оценку (положительно/отрицательно) и выбирать категорию (одну из пяти).
2. Исходя из этих оценок считать по простенькой формуле (разность количества положительных и отрицательных оценок) рейтинг по категориям и общий рейтинг (сумма рейтингов категорий умноженных на коэффициенты). Выводить это все в блоке или на отдельной странице.

Посоветуйте, пожалуйста, как это лучше и правильнее реализовать. Есть три варианта:

1. Допиливать то, что есть (запись в базу, без создания нод и вывод вьюсом). Тут я не уверен, что при таком подходе вообще можно сделать вышеописанное.

2. Создавать под каждое сообщение ноду с дополнительными полями. Где-то видел статью о том, как чувак делал Саппорт на друпале, там он создавал тип материала Тикет и у него можно было менять статус. У меня, насколько понимаю, похожий случай, только вместо статуса будут категории и оценки.

3. Создать новую сущность. С сущностями в друпале, к сожалению, пока знаком мало, но насколько понимаю, если создать сущность Сообщение, то его параметрами будет проще оперировать, нежели полями ноды. Хотя, возможно, не прав.

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

Спасибо.

Комментарии

Аватар пользователя penexe penexe 9 июля 2015 в 14:33

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