Разработка пользовательского раздела телеграмм магазина #4

Open
opened 2024-11-14 00:39:24 +00:00 by NW · 2 comments
Owner

Разработка пользовательского раздела телеграмм магазина

Пользовательский раздел предназначен для удобной работы пользователей с товарами, их покупкой, управлением балансами и просмотром выполненных покупок.


Основные разделы меню

  1. Продукты
  2. Профиль
  3. Покупки
  4. Кошельки

Каждый раздел включает в себя необходимый функционал.


1. Раздел "Продукты"

В этом разделе пользователь может выбрать локацию, категорию и продукт, а затем выполнить покупку. Логика работы покупки следующая:

  • Проверка баланса:

    • При попытке купить товар проверяется, достаточен ли общий баланс пользователя (сумма всех балансов — крипто и бонусных).
    • Если баланса недостаточно, выводится сообщение о нехватке средств с кнопкой для перехода в раздел Кошельки для пополнения баланса.
  • Покупка товара:

    • При успешной покупке выводится экран с подтверждением, где отображается:
      • Описание товара.
      • Скрытые поля, связанные с товаром.
      • Две кнопки:
        • Товар получен.
        • Написать администратору.
  • Списание средств:

    • Списание средств всегда происходит с общего баланса пользователя (сумма баланса криптокошельков и бонусного баланса), за вычетом уже выполненных покупок.
    • Перед покупкой проводится пересчет всех сумм, включая обновление данных по криптокошелькам и вычисление общей суммы остатка средств. Это необходимо для определения, может ли пользователь совершить покупку.
    • При совершении покупки не надо выводить список кошельков с которого надо сделать оплату так как оплата всегда идет с единого баланса. Ветку с выводом кошельков убираем туда выводим сообщение с общей суммой и подтверждением или кнопкой назад и всё.

2. Раздел "Профиль"

В разделе Профиль отображается информация о состоянии профиля пользователя и предоставляются следующие функции:

  • Установка текущей локации:

    • Пользователь может установить свою локацию вручную.
  • Удаление аккаунта:

    • При нажатии на кнопку удаления аккаунта появляется предупреждающее сообщение о том, что все средства на аккаунте будут утеряны.
    • Кнопки: Отмена и Подтвердить.
    • После удаления аккаунта ставится флаг в базе данных, и при следующем входе пользователю показывается информация, что аккаунт был удален, с предложением обратиться к администратору и ссылкой на администратора.

3. Раздел "Покупки"

В разделе Покупки отображаются выполненные пользователем покупки:

  • Список покупок:

    • Покупки отображаются в виде кнопок с пагинацией по 10 элементов на странице.
  • Карточка товара:

    • При нажатии на товар открывается карточка с подробной информацией:
      • Описание товара.
      • Скрытые поля.
      • Кнопки:
        • Подтвердить получение.
        • Написать администратору.

4. Раздел "Кошельки"

В разделе Кошельки пользователи могут управлять своими кошельками, пополнять их и генерировать холодные кошельки. Также здесь отображается бонусный и общий баланс.

  • Добавить кошелек:

    • При нажатии на кнопку "Добавить кошелек" появляется выбор типа кошелька (например, биткойн, эфириум и т.д.).
    • После выбора типа кошелька выполняется генерация холодного кошелька. Если такой кошелек уже существует, старый отправляется в архив, а новый отображается.
  • Обновление баланса:

    • Баланс кошелька проверяется с использованием внешних источников (например, через API для проверки баланса криптокошельков).
    • При изменении баланса выполняется перерасчет общего баланса пользователя.
    • Курсы для конверсии в доллары уже есть в исходниках, необходимо проверить их актуальность и корректность.
  • Архивные кошельки:

    • Отображение архивных кошельков в списке, сгруппированных по типу с отображением остаточных средств на каждом кошельке.
  • История транзакций:

    • История транзакций отображается с пагинацией по 10 элементов.
    • Листинг включает информацию о списаниях с кошельков, а также кнопки для возврата.

Тестирование и доработка:
Необходимо провести тестирование всех функций: правильность отображения балансов, корректность списания средств при покупках, правильность работы с кошельками и истории транзакций.


### Разработка пользовательского раздела телеграмм магазина Пользовательский раздел предназначен для удобной работы пользователей с товарами, их покупкой, управлением балансами и просмотром выполненных покупок. --- ### Основные разделы меню 1. Продукты 2. Профиль 3. Покупки 4. Кошельки Каждый раздел включает в себя необходимый функционал. --- ### 1. Раздел "Продукты" В этом разделе пользователь может выбрать локацию, категорию и продукт, а затем выполнить покупку. Логика работы покупки следующая: - [x] **Проверка баланса**: - [x] При попытке купить товар проверяется, достаточен ли общий баланс пользователя (сумма всех балансов — крипто и бонусных). - [x] Если баланса недостаточно, выводится сообщение о нехватке средств с кнопкой для перехода в раздел **Кошельки** для пополнения баланса. - [x] **Покупка товара**: - [x] При успешной покупке выводится экран с подтверждением, где отображается: - Описание товара. - Скрытые поля, связанные с товаром. - Две кнопки: - [x] **Товар получен**. - [x] **Написать администратору**. - [x] **Списание средств**: - [x] Списание средств всегда происходит с общего баланса пользователя (сумма баланса криптокошельков и бонусного баланса), за вычетом уже выполненных покупок. - [x] Перед покупкой проводится пересчет всех сумм, включая обновление данных по криптокошелькам и вычисление общей суммы остатка средств. Это необходимо для определения, может ли пользователь совершить покупку. - [x] При совершении покупки не надо выводить список кошельков с которого надо сделать оплату так как оплата всегда идет с единого баланса. Ветку с выводом кошельков убираем туда выводим сообщение с общей суммой и подтверждением или кнопкой назад и всё. --- ### 2. Раздел "Профиль" В разделе **Профиль** отображается информация о состоянии профиля пользователя и предоставляются следующие функции: - [x] **Установка текущей локации**: - [x] Пользователь может установить свою локацию вручную. - [x] **Удаление аккаунта**: - [x] При нажатии на кнопку удаления аккаунта появляется предупреждающее сообщение о том, что все средства на аккаунте будут утеряны. - [x] Кнопки: **Отмена** и **Подтвердить**. - [x] После удаления аккаунта ставится флаг в базе данных, и при следующем входе пользователю показывается информация, что аккаунт был удален, с предложением обратиться к администратору и ссылкой на администратора. --- ### 3. Раздел "Покупки" В разделе **Покупки** отображаются выполненные пользователем покупки: - [x] **Список покупок**: - [x] Покупки отображаются в виде кнопок с пагинацией по 10 элементов на странице. - [x] **Карточка товара**: - [x] При нажатии на товар открывается карточка с подробной информацией: - Описание товара. - Скрытые поля. - Кнопки: - [x] **Подтвердить получение**. - [x] **Написать администратору**. --- ### 4. Раздел "Кошельки" В разделе **Кошельки** пользователи могут управлять своими кошельками, пополнять их и генерировать холодные кошельки. Также здесь отображается бонусный и общий баланс. - [x] **Добавить кошелек**: - [x] При нажатии на кнопку "Добавить кошелек" появляется выбор типа кошелька (например, биткойн, эфириум и т.д.). - [x] После выбора типа кошелька выполняется генерация холодного кошелька. Если такой кошелек уже существует, старый отправляется в архив, а новый отображается. - [x] **Обновление баланса**: - [x] Баланс кошелька проверяется с использованием внешних источников (например, через API для проверки баланса криптокошельков). - [x] При изменении баланса выполняется перерасчет общего баланса пользователя. - [ ] Курсы для конверсии в доллары уже есть в исходниках, необходимо проверить их актуальность и корректность. - [x] **Архивные кошельки**: - [x] Отображение архивных кошельков в списке, сгруппированных по типу с отображением остаточных средств на каждом кошельке. - [x] **История транзакций**: - [x] История транзакций отображается с пагинацией по 10 элементов. - [x] Листинг включает информацию о списаниях с кошельков, а также кнопки для возврата. --- **Тестирование и доработка**: Необходимо провести тестирование всех функций: правильность отображения балансов, корректность списания средств при покупках, правильность работы с кошельками и истории транзакций. ---
NW added this to the MVP milestone 2024-11-14 00:39:24 +00:00
1323ed5 was assigned by NW 2024-11-14 00:39:24 +00:00
NW added reference main 2024-11-14 00:47:53 +00:00
NW added this to the Универсальный телеграмм магазин project 2024-11-14 00:47:56 +00:00
Author
Owner

@1323ed5 Списание средств надо поправить согласно доп пункту уточняющего процедуру что бы не было как на скрине кучи кошельков

@1323ed5 Списание средств надо поправить согласно доп пункту уточняющего процедуру что бы не было как на скрине кучи кошельков
Author
Owner

@1323ed5 При работе пользователя и покупке обнаружена возможность покупки с 0 балансом

@1323ed5 При работе пользователя и покупке обнаружена возможность покупки с 0 балансом
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Telegram-Market/telegram-shop#4
No description provided.