2011-06-20 7 views
0

Я разработал решение для корзины для клиентов. Для одного из своих предметов (например, конфеты) у них есть определенное количество, которое они могут продавать для каждого типа. Я вычитаю из количества, имеющегося в наличии после товаров.Shopping Cart - Поток для распроданных или менее доступных предметов во время оформления заказа?

Конфеты торгового поток выглядит следующим образом:

  1. Select (добавить в корзину) конфеты на странице каталога конфеты
  2. Перейти в корзине страницу для рассмотрения пунктов, которые будут приобретены
  3. Перейти к оформлению заказа страницы (Платежная информация + список товаров, которые будут закупаться общая цена деталей)

Соответствующая ситуация: ЗАКАЗЧИК выберите 9 из оставшихся 10 Snickers. Клиент B выбирает 5 из оставшихся 10 Сникерсов. При оформлении заказа Клиент B отправляет свою платежную информацию (оставляя 5 утиров слева) до Клиент A, который купил Сникерс.

Теперь Клиентов останется с сообщением на кассе странице о том, что произошло (то есть - Упс .. Юр candiez г все ушли), в том числе перечень которых конфеты распроданы, или менее доступно. Здесь я не уверен, где должен продолжаться поток (надеясь, что это был даже хороший путь для начала).

Следует ли вернуть клиенту ссылку на свою корзину покупок, где элементы, которые они выбрали, остались неизменными, и оставить их для удаления и продолжения покупки? Или, если эти позиции отражают новые количества, доступные для каждого товара, так что с Клиент A купил 9 Сникерс, в корзине показывается Клиент А добавил 5 Сникерсов (из оставшихся 5)? Или, если эти предметы будут полностью удалены из корзины?

Другое решение (как было предложено Андреасом Нидермаром и Э. Родригесом): вычесть инвентарь, поскольку клиенты добавляют предметы в свою корзину.

Если это была моя реализация, в какой момент/как я могу добавить элементы обратно в инвентарь, если клиент покинет сайт? Моя корзина не управляется БД.

Любая обратная связь будет замечательной, и я буду рада прояснить.

ответ

1

Если бы это был я, я бы представил промежуточное состояние, в котором candiez считается «проданным» в момент выбора количества. В зависимости от других функций тележки (например, «save ur candiez for laterz») вы можете перераспределить их обратно в доступный пул ресурсов через определенное время ... но я считаю, что в тот момент, когда клиент хочет их, так как в магазине, если они помещают их в свою корзину (даже не покупая их), то следующий клиент видит только то, что доступно.

+0

Первоначально я кодировал это решение, но я не был уверен, как вызвать временное перераспределение обратно в пул инвентаря. (Моя корзина, кстати, не управляется DB) – Josh

+0

Это почти то, что я реализовал, поэтому я отметил как ответ. – Josh

+0

Вы приветствуете, и спасибо за голосование. Если бы я не думал, что модный молот ударил меня по голове, как Super Mario, я бы дал вам +1 для вашего юмористического подхода в вашем вопросе. Помогает сделать вопрос, помогая LOT. Я думаю, что Джоэл Спольский был бы рад. –

1

Я лично предпочитаю другое: предметы, поскольку они добавляются в корзину, получают зарезервированные на определенное количество времени (например, таймаут сеанса). Если товар продан или меньше суммы доступно при добавлении времени, пользователь получает более ранний намек.Помните: нет ничего более расстраивающего, чем плохое «упс» при оформлении заказа!

+0

Предположим, пользователь добавляет товары в свою корзину, а затем полностью покидает сайт. Как и/или в какой момент я перераспределяю элементы в инвентарь? – Josh

+0

Хорошо, независимо от того, принимаете ли вы один подход или другой, я думаю, что это вопрос, на который вы должны ответить, когда добавляете их обратно. если вы хотите сделать это политикой для истечения срока их действия в конце сеанса или через 24 часа или неделю - ключ должен иметь промежуточный метод управления уровнями запасов между тем, когда у этого пользователя есть «все товары», и когда другие клиенты хотят купить больше того, что продано. Я согласен, что делать это при оформлении заказа слишком поздно. возможно, какой-то сигнал в верхней части экрана при запросе покупки? –

+0

ну, если вы работаете на asp.net, будет событие конца сеанса. в противном случае я бы добавил временную метку добавления на ваш уровень данных (что бы это ни было) и запрос против него на «что сейчас в наличии» -check/display/... –

 Смежные вопросы

  • Нет связанных вопросов^_^