Skip to content

Latest commit

 

History

History
32 lines (17 loc) · 2.26 KB

File metadata and controls

32 lines (17 loc) · 2.26 KB

Задача 3 | Компонент "Полная информация о пользователе" – логика и подготовка отображения

⬅️ назад

ТЗ

Необходимо реализовать логику перевода доменных данных о пользователе (UserInfo) и об операциях пользователя (List<OperationInfo>) для отображения в компоненте "Полная информация о пользователе".

Сначала нужно получить полную информацию о пользователе и список его операций.

Далее полученные операции нужно просуммировать/вычесть (в зависимости от значения поля direction у OperationInfo), чтобы вычислить текущий баланс и кол-во баллов.

Получив все данные нужно вернуть объект класса UserInfoUiModel.

Формат входных данных

На вход в UserInfoToUiModelMapper поступает List<OperationInfo> и UserInfo

Формат выходных данных

data class UserInfoUiModel(val userName: String, val balance: String, val specialPoints: String)

Имя и Фамилия (userName) в формате "Имя Фамилия" (имя и фамилия разделены пробелом)

Текущие количество баллов (specialPoints) ожидаются в формате "1 000 000 баллов" (по 3 цифры. разделитель – пробел)

Текущий баланс (balance) рублей ожидается в формате "1 000,00 ₽" (по 3 цифры. разделитель – пробел. в конце символ рубля. у числа два символа после запятой)

Ожидаемое решение

Необходимо реализовать логику внутри класса UserInfoToUiModelMapper, который отвечает за перевод доменных данных в данные для UI компонента "Полная информация о пользователе".