Задать вопрос
@0NordWind0

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

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

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

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

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

Как объяснять пользователю, куда пропали его деньги?
Есть ли способы более логично хранить баланс при условии, что пользователь может пополнять посредством разных валют?
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    9 недель
    Далее
  • Учебный центр IBS
    JVA-I-003 Работа с базами данных в Java
    1 неделя
    Далее
  • Академия Эдюсон
    SQL-разработчик: тариф Базовый
    2 месяца
    Далее
Решения вопроса 1
@tukreb
Вы не должны указывать куда пропали деньги, так как они не должны ни куда пропадать вообще.
Пользователь выбирает тип валют в которой будет хранить и курс никак на это влиять не должен.
Если пользователь хочет хранит в нескольких видах валюты, значит храните в нескольких типах валюты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Обычно счет хранится в строго одной валюте. Если пользователь хочет оперировать разными
валютами то он заводит разные счета.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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