Gyxman Опубликовано 20 октября, 2013 Жалоба Поделиться Опубликовано 20 октября, 2013 Добрый день, форумчане! Есть большая проблема в simpla. Например, количество товаров - 1.Если несколько человек добавят его в корзину, то они смогут одновременно сделать 2 и более заказов. Хотя при обработке заказов можно будет только 1 присвоить статус "Принят" - остальным админка напишет: недостаточное количество на складе. Но что делать, если человек уже оплатил заказ? Например, онлайн оплата. Метод решения такой: при добавлении в корзину - надо обновлять количество на сайте или при оформлении заказа проверять наличие товара. Сталкивался ли кто-нибудь с подобным? И существует ли решение данной проблеме? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 20 октября, 2013 Жалоба Поделиться Опубликовано 20 октября, 2013 Глупости говорите... Если добавил в корзину - не значит купил. Если очень хотите фигней заниматься, можно списывать товар при ОФОРМЛЕНИИ заказа, а не при принятии, тогда ЗАКАЗАТЬ этот товар сможет только 1 человек. Цитата Ссылка на сообщение Поделиться на другие сайты
Gyxman Опубликовано 20 октября, 2013 Автор Жалоба Поделиться Опубликовано 20 октября, 2013 Ну так так и надо. Как сделать?Никакие это не глупости. Вот например у вас остаток: 1 товар. Его купили 2 человека и успели оплатить по банковской карте. Что делать будете? 1 человеку возврат оформлять? И отзыв негативный? За невыполнение заказа и задержку денег? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 20 октября, 2013 Жалоба Поделиться Опубликовано 20 октября, 2013 public function add_order($order) { $order = (object)$order; $order->url = md5(uniqid($this->config->salt, true)); $set_curr_date = ''; if(empty($order->date)) $set_curr_date = ', date=now()'; $query = $this->db->placehold("INSERT INTO __orders SET ?%$set_curr_date", $order); $this->db->query($query); $id = $this->db->insert_id(); $this->close($id); return $id; } По идее так, при добавлении заказа, он закрывается и все товары списываются со склада... $this->close($id); Больше купить этот товар нельзя.АПИ/Orders.php Цитата Ссылка на сообщение Поделиться на другие сайты
Gyxman Опубликовано 20 октября, 2013 Автор Жалоба Поделиться Опубликовано 20 октября, 2013 Вот спасибо, добрый человек. Сейчас проверю Цитата Ссылка на сообщение Поделиться на другие сайты
Gyxman Опубликовано 20 октября, 2013 Автор Жалоба Поделиться Опубликовано 20 октября, 2013 Да, все работает. Еще бы сделать так: что если они успели добавить в корзину, то при оформлении проверялось: есть ли товар. И если нету - то показывалась ошибка. А сейчас - если оба добавили в корзину, то первый закажет норм, а второго после нажатия: Оформить заказ - перекинет на страницу не найдено, но тем не менее оформится пустой заказ и ему на мыло придет: ваш заказ (товара нет) принят. Цитата Ссылка на сообщение Поделиться на другие сайты
Gyxman Опубликовано 22 октября, 2013 Автор Жалоба Поделиться Опубликовано 22 октября, 2013 Я согласен с Вами, что решение скорее нативное, чем универсальное. Но только что проверил присвоение меток - товар на склад не возвращается, то есть снова заказать нельзя. Товар не появится на складе до тех пор, пока я сам не обновлю наличие на складе, либо не удалю заказ. Мне кажется, что уж лучше пусть так и в те редкие моменты (когда все-таки умудрились оформить одновременно заказ) у более медленного человека формируется пустой заказ - с ним то решить проблему в индивидуальном порядке будет гораздо легче, потому что он не успел (да и не получится даже) оплатить отсутствующий товар (выбор варианта доставки и оплаты происходит на первом и единственном шаге в оформлении заказа). ИМХО Цитата Ссылка на сообщение Поделиться на другие сайты
Gyxman Опубликовано 22 октября, 2013 Автор Жалоба Поделиться Опубликовано 22 октября, 2013 Да, статус заказа - новый - присвоил метку перезвонить, потом ожидается товар. Количество на складе - 0 Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.