Корзина коллективного заказа

12
M
На сайте с 03.06.2012
Offline
73
759

Здравствуйте. есть задание написать корзину для коллективного заказа. (Интернет магазин заказов еды в офисы). Смысл таков: пользователь заходит на сайт нажимает кнопку коллективный заказ вводит свою фамилию и имя и ему высвечивается номер заказа, например 123. Далее пользователь (Сергей, что бы проще ориентироваться) выбирает товары и добавляет в корзину. Номер заказа Сергей говорит например своему другу (например Андрей). Андрей входит на сайт жмет подключить коллективный заказ и вводит номер коллективного заказа 123. Система исчет если такой номер и когда находит говорит вы подключились к коллективному заказу Сергея. И Андрей уже водит свое имя и фамилию и заказывает свои товары, но товары Сергея он не видит а только свои.

Вот это ТЗ нужно реализовать. Мне нужна консультация как правильно это все сделать. Поскольку есть пару ключевых моментов:

1. Где хранить корзину в сессии или в БД. Я понимаю что скорее всего нужно в БД поскольку как система будет номер искать. Но в ТЗ есть еще указание на то что товар при добавлении количества сразу добавляется в корзину. Выходит что мне все время придется делать запрос в БД что бы количество изменять. а это не совсем правильно поскольку будет лишняя нагрузка на БД.

2. Как понять что пользователи завершили заказ и Сергей может отправить заказ на кухню?

3. В системе существует и простой заказ его тоже нужно как то реализовать.

У кого какие соображения. Жду ваших советов. Спасибо!

D
На сайте с 14.01.2007
Offline
153
#1
meverikxp:
Где хранить корзину в сессии или в БД

Сессия ограничена 1 браузером. с другого компа зайти в эту сессию невозможно(простому смертному)

meverikxp:
а это не совсем правильно поскольку будет лишняя нагрузка на БД.

а для чего по вашему нужны БД?

meverikxp:
Как понять что пользователи завершили заказ и Сергей может отправить заказ на кухню?

это не ваша проблема, а Сергея. Кнопкой завершить заказ

meverikxp:
В системе существует и простой заказ его тоже нужно как то реализовать.

одиночный заказ - это коллективный заказ с одним Сергеем

П.С. может вам всё-таки не браться за этот заказ?

M
На сайте с 03.06.2012
Offline
73
#2
Dinozavr:
Сессия ограничена 1 браузером. с другого компа зайти в эту сессию невозможно(простому смертному)
а для чего по вашему нужны БД?
это не ваша проблема, а Сергея. Кнопкой завершить заказ
одиночный заказ - это коллективный заказ с одним Сергеем

П.С. может вам всё-таки не браться за этот заказ?

Есть такая идея при создании нового коллективного заказа сохранить в бд номер и кто его создал. Всю информацию по товарам заносить в сессию и только при нажатии заказать перенести в БД.

П.С. Почему вы советуете не браться за заказ. Поскольку я уже взялся и сделал интернет магазин осталась корзина. Хотел узнать что кто посоветует.

D
На сайте с 14.01.2007
Offline
153
#3

meverikxp, объясните пожалуйста, как вы будете заносить заказ Тани в сессию Сергея?

П.С. а в ИМ есть что-то кроме корзины?

M
На сайте с 03.06.2012
Offline
73
#4
Dinozavr:
meverikxp, объясните пожалуйста, как вы будете заносить заказ Тани в сессию Сергея?

П.С. а в ИМ есть что-то кроме корзины?

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

Я понимаю что это гемор но мне кажется я уменьшу нагрузку на БД. поскольку мне кажется жестью делать при каждом добавлении количества товара аджакс запрос в БД? Или я не прав, обьясните!

П.С. Да ИМ это не только корзина поскольку ИМ не стандартный и не смог подобрать что то готовое пришлось делать с нуля все

D
На сайте с 14.01.2007
Offline
153
#5

meverikxp, ок. ваш коллек. заказ состоит из 2х частей: Сергея и Тани. Сергей сделал заказ и отослал номер заказа Тане. Таня тоже сделала заказ и сказалa Сергею: "можешь заказывать". Сергей жмёт кнопку заказать. Как вы вытащите заказ Тани из её сессии?

Сколько у вас в лучшем случае может быть заказов в день?

Kikky
На сайте с 20.12.2011
Offline
51
#6

Хранить данные о заказе только в БД получится. Забудьте о нагрузке на БД. Одиночный заказ - этот тот же коллективный, только на 1 человека. Задача то простая..

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#7

Всегда умиляли такие люди, которые берут заказ(ДЕНЬГИ!!!), а потом только начинают думать: "А как же мне это сделать? Ой! А я то и не знаю:( Придется идти на серч".

А потом заказчики нормальным разработчикам моск выносят тупыми вопросами типа "а 1000 товаров в БД это не много? А может взять выделенный сервер?". Теперь понятно откуда ноги растут:(

Подпись))
M
На сайте с 03.06.2012
Offline
73
#8
Милованов Ю.С:
Всегда умиляли такие люди, которые берут заказ(ДЕНЬГИ!!!), а потом только начинают думать: "А как же мне это сделать? Ой! А я то и не знаю:( Придется идти на серч".

А потом заказчики нормальным разработчикам моск выносят тупыми вопросами типа "а 1000 товаров в БД это не много? А может взять выделенный сервер?". Теперь понятно откуда ноги растут:(

Вы сейчас о чем? Не понятно что я сказал чего я не знаю. Я прошу совета кто как решал бы. Если не хотите отвечать не отвечайте. А не выносить мне мозг тупыми ответами не понятно на что.

---------- Добавлено 24.05.2013 в 16:17 ----------

Dinozavr:
meverikxp, ок. ваш коллек. заказ состоит из 2х частей: Сергея и Тани. Сергей сделал заказ и отослал номер заказа Тане. Таня тоже сделала заказ и сказалa Сергею: "можешь заказывать". Сергей жмёт кнопку заказать. Как вы вытащите заказ Тани из её сессии?

Сколько у вас в лучшем случае может быть заказов в день?

Ну как Таня нажала завершить заказ и дынные записались в БД

IL
На сайте с 20.04.2007
Offline
435
#9
Dinozavr:
П.С. может вам всё-таки не браться за этот заказ?

Реализация коллективного заказа коллективными силами форумчан 😂

meverikxp:
И Андрей уже водит свое имя и фамилию и заказывает свои товары, но товары Сергея он не видит а только свои.

А потом Сергею присылают мега-заказ, из которого он заказал колу и пирожок, а всё остальное - "я хз кто заказал.. оплачивать не буду" %)

2. Как понять что пользователи завершили заказ и Сергей может отправить заказ на кухню?

В форме заказа у Сергея перед кнопкой "Отправить на кухню" отображать количество "подключившихся" к заказу

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
M
На сайте с 03.06.2012
Offline
73
#10

Мда.... толка не много. Тему можно закрывать

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий