@0NordWind0

Как хранить баланс пользователя в разных валютах?

В моей базе данных есть таблица users.
Среди всех прочих, в таблице users имеются два столбца:

Balance - тип данных Decimal.
Currency - тип данных Enum, содержащей в себе четыре допустимых строковых значения: "RUB, "UAH", USD", "EUR".

В Balance хранятся данные о деньгах в долларовом эквиваленте.

Пользователь может отображать свой баланс в любой валюте. И он выбрал рубли.
Предположим, что пользователь пополнил баланс на 8000₽. На момент пополнения цена одного доллара за рубль была 80₽, поэтому в бд записывается ровно 100. На следующий день курс упал до 70₽.

Как объяснять пользователю, куда пропали его деньги?
Есть ли способы более логично хранить баланс при условии, что пользователь может пополнять посредством разных валют?
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
@tukreb
Вы не должны указывать куда пропали деньги, так как они не должны ни куда пропадать вообще.
Пользователь выбирает тип валют в которой будет хранить и курс никак на это влиять не должен.
Если пользователь хочет хранит в нескольких видах валюты, значит храните в нескольких типах валюты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Обычно счет хранится в строго одной валюте. Если пользователь хочет оперировать разными
валютами то он заводит разные счета.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы