Покупка товара #6

Open
opened 2025-04-22 14:15:58 +05:00 by MIRZAEV · 0 comments
Owner

Процесс покупки товара

  1. Нажимаем на кнопку "Купить" и выбираем количество товаров для покупки (нельзя купить больше, чем есть в наличии)
    image
  2. Запрашивает указать данные для доставки в этом же окне (если нет активного получателя)
  3. Кнопка меняется цветом и текст её становится "Куплено", с баланса резервируются деньги, товар резервируется
  4. В профиле в списке заказов появляется этот заказ со статусом "Ждёт подтверждение продавца"

Технический разбор

Изначально необходимо разработать систему адресов получателя в виде отдельной таблицы в базе данных, чтобы покупатель мог их менять, и создавать (CRUD). Получатель должен иметь параметр "active" или что-то подобное, чтобы можно было иметь только одного активного получателя.

Если не найдено ни одного "получателя" у аккаунта, то необходимо в интерактивном режиме запрашивать заполнение данных

  1. Введите ФИО получателя
  2. Введите номер телефона получателя
  3. Выберите тип доставки: пункт выдачи, до двери
    3.1 Введите адрес пункта выдачи
    3.2 Введите адрес дома

Это должно происходить через AJAX во всплывающем окне поверх всплывающего окна карточки товара, без перенаправлений и загрузки страницы. Вопросы должны появляться по одному в порядке очереди, а не все сразу.

Если у аккаунте уже есть активный и заполненный получатель, то этот этап должен быть пропущен

С аккаунта списывает деньги за товар и помечает их как зарезервированные, но они должны быть зарезервированны именно для конкретного продавца, чтобы отобразить ему в профиле его потенциальную выручку, то есть вероятно нужно создавать таблицу "transactions" или что-либо подобное

То же самое нужно делать с резервацией товара, чтобы в будущем можно было иметь историю заказов и отмен заказов

Продавцу должно прийти уведомление о покупке товара
Продавец должен подтвердить продажу или отклонить
Статус товара меняется для покупателя в его списке заказов
Продавец передаёт заказ в любой удобный пункт для отправки, по коду
Должен формироваться документ доставки в CDEK и продавца просто просит принести товар для отправки
Статус товара меняется на "отправлен"
Должно показывать примерную дату доставки

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

Если покупатель отказался от покупки (кнопкой на сайте, либо отказался получать в пункте выдачи), то деньги возвращаются из резерва и товар возвращается из резерва, продавцу приходит уведомление

Ориентируемся на функционал avito
image
image

## Процесс покупки товара 1. Нажимаем на кнопку "Купить" и выбираем количество товаров для покупки (нельзя купить больше, чем есть в наличии) ![image](/attachments/52d78023-83b8-493c-837d-77cefcb05385) 2. Запрашивает указать данные для доставки в этом же окне (если нет активного получателя) 3. Кнопка меняется цветом и текст её становится "Куплено", с баланса резервируются деньги, товар резервируется 4. В профиле в списке заказов появляется этот заказ со статусом "Ждёт подтверждение продавца" ## Технический разбор Изначально необходимо разработать систему адресов получателя в виде отдельной таблицы в базе данных, чтобы покупатель мог их менять, и создавать (CRUD). Получатель должен иметь параметр "active" или что-то подобное, чтобы можно было иметь только одного активного получателя. Если не найдено ни одного "получателя" у аккаунта, то необходимо в интерактивном режиме запрашивать заполнение данных 1. Введите ФИО получателя 2. Введите номер телефона получателя 3. Выберите тип доставки: пункт выдачи, до двери 3.1 Введите адрес пункта выдачи 3.2 Введите адрес дома Это должно происходить через AJAX во всплывающем окне поверх всплывающего окна карточки товара, без перенаправлений и загрузки страницы. Вопросы должны появляться по одному в порядке очереди, а не все сразу. Если у аккаунте уже есть активный и заполненный получатель, то этот этап должен быть пропущен С аккаунта списывает деньги за товар и помечает их как зарезервированные, но они должны быть зарезервированны именно для конкретного продавца, чтобы отобразить ему в профиле его потенциальную выручку, то есть вероятно нужно создавать таблицу "transactions" или что-либо подобное То же самое нужно делать с резервацией товара, чтобы в будущем можно было иметь историю заказов и отмен заказов Продавцу должно прийти уведомление о покупке товара Продавец должен подтвердить продажу или отклонить Статус товара меняется для покупателя в его списке заказов Продавец передаёт заказ в любой удобный пункт для отправки, по коду **Должен формироваться документ доставки в CDEK и продавца просто просит принести товар для отправки** Статус товара меняется на "отправлен" Должно показывать примерную дату доставки В будущем возможно будет корзина товаров, поэтому я рекомендую изначально проработку формирования заказа и привязку к нему товара, чтобы код обрабатывал саму инстанцию заказа, проходя по всем товарам в нём. Если покупатель отказался от покупки (кнопкой на сайте, либо отказался получать в пункте выдачи), то деньги возвращаются из резерва и товар возвращается из резерва, продавцу приходит уведомление Ориентируемся на функционал avito ![image](/attachments/ad100e4f-d54d-413c-bf47-f5106f45310d) ![image](/attachments/5d566149-d808-4d9e-89ab-4903822ed7cc)
MIRZAEV added this to the Торговая площадка milestone 2025-04-22 14:15:58 +05:00
MIRZAEV added the Suggestion
Status
Confirmed
labels 2025-04-22 14:15:58 +05:00
Sergey was assigned by MIRZAEV 2025-04-22 14:15:58 +05:00
MIRZAEV added this to the Запуск проекта project 2025-04-22 14:15:58 +05:00
MIRZAEV added the due date 2025-05-20 2025-04-22 14:44:19 +05:00
Sign in to join this conversation.