@JeannieGold
PHP dev

Как хранить реферальные начисления?

Есть таблица balance_transaction, куда записывается приход с пополнений баланса и расход с оплаты заказов. В таблице user есть поле balance, чтобы не приходилось каждый раз пересчитывать баланс.

Нужно добавить реферальную программу, с заказов привлеченных клиентов будут капать процентные начисления. Реферальные начисления являются частью основного баланса клиента, их можно потратить на оплату товаров, но также реферальные начисления клиент может вывести себе на кошелек.
Была добавлена таблица referral_transaction, с полями order_id (для учета прихода % начислений с заказов) и withdrawal_id (для учета расхода с выводов реф начислений).
В таблицу user добавлено поле referral_balance, отражающее текущую сумму реф начислений.

1. Нужно ли в таблицу balance_transaction записывать приход реферальных начислений? Чтобы вывести общий баланс пока суммирую поля user.balance и user.referral_balance.

2. Как быть в ситуации, когда, напр, user.balance = 10 р, user.referral_balance = 50 р, а заказ на 40 р? Записать в balance_transaction расход на 10 р, а в referral_transaction расход на 30 р? Не возникнет ли потом путаницы при таком разбиении оплаты заказа?
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега MySQL
Web developer
Я бы повесил триггер на referral_transaction при переходе в статус "approved", чтобы добавлялась запись в balance_transaction. И суммировал только balance_transaction.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы