Реферальная схема БД
Я кодирую новый {ежемесячный | годовой} платный сайт с теперь типичной "реферальной" системой: когда новый пользователь регистрируется, они могут указать {username| реферальный код} другого пользователя (это может быть обнаружено автоматически, если они через специальный URL-адрес), что заставит реферера получать процент от всего, что платит новый пользователь.
Прежде чем изобретать велосипед, я хотел бы знать, есть ли у кого-нибудь из вас опыт хранения данных такого рода в реляционной БД. В настоящее время я использую MySQL, но я считаю, что любое хорошее решение должно быть легко адаптировано к любой СУБД, верно?
Я рассчитываю на поддержку следующих функций:
Система онлайн-биллинга - после оплаты каждого счета подсчитывается заработок для рефералов, и они смогут выводить деньги. Это включает, конечно, возможность просматривать счета / платежи онлайн.
Платные варианты различаются - они различаются по своему характеру и стоимости (которые иногда изменятся), поэтому комиссионные должны рассчитываться на основе каждого окончательного счета.
Отслеживание рефералов (отношения между пользователями, дата, на которую они были переданы, и любая другая полезная информация - есть идеи?)
Простой способ получить доступ к историческим ссылочным данным (сколько было выплачено) или накопленным комиссиям.
В будущем я мог бы предложить обменять накопленные денежные средства на продление подписки (покрывая всю новую подписку или только ее часть, при необходимости оплачивая разницу)
Несколько уровней - я думаю заплатить около 10% от прямой рекомендованной прибыли + 2% на следующем уровне, но это может измениться в будущем (добавить больше уровней, изменить проценты), поэтому я должен иметь возможность хранить исторические данные.
Обратите внимание, что я не планирую использовать это в любом другом проекте, поэтому я не беспокоюсь о том, что он будет "включай и работай".
Работали ли вы с подобными требованиями? Если так, как вы справились со всем этим? Вы бы порекомендовали какую-либо конкретную схему БД? Зачем?
Есть ли что-то, что я пропускаю, что помогло бы сделать это более гибкой реализацией?
1 ответ
Скорее всего, есть библиотека схем баз данных. Хотя я не вижу что-то конкретное для рефералов, может быть что-то связанное. По крайней мере (надеюсь) вы сможете получить некоторые идеи.