2016-10-14 12 views
0

У меня есть opencart 2.0.1.1, и я столкнулся с проблемой, которая позволяет сказать, что у клиента моего магазина 500 наградных пунктов, и он размещает заказ на покупку продуктов, используя 100 очков вознаграждения. Заказ размещается, но когда тот же пользователь снова приходит на место, он все равно показывает 500 очков вознаграждения этому клиенту, пока администратор магазина не изменит статус предыдущего заказа этого клиента. Я нашел эту ссылку с той же проблемой, что и у меня, но решение, которое он использовал, не решает мою проблему. Плюс я тоже не нашел решения на форумах opencart. Любая помощь?opencart 2.0.1.1 - Очки с бонусами не вычитаются при размещении заказа

https://github.com/opencart/opencart/issues/3637 

UPDATE:

Я думаю, мне нужно изменить запрос вставки в эту функцию подтверждения() в этом файле catalog/model/total/reward.php. Я нахожусь на нем, но любая помощь будет оценена!

public function confirm($order_info, $order_total) { 
     $this->load->language('total/reward'); 

     $points = 0; 

     $start = strpos($order_total['title'], '(') + 1; 
     $end = strrpos($order_total['title'], ')'); 

     if ($start && $end) { 
      $points = substr($order_total['title'], $start, $end - $start); 
     } 

     if ($points) { 
      $this->db->query("INSERT INTO " . DB_PREFIX . "customer_reward SET customer_id = '" . (int)$order_info['customer_id'] . "', order_id = '" . (int)$order_info['order_id'] . "', description = '" . $this->db->escape(sprintf($this->language->get('text_order_id'), (int)$order_info['order_id'])) . "', points = '" . (float)-$points . "', date_added = NOW()"); 
     } 
    } 
+2

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

+1

@Vidhyut Pandya Sir Я обновил свой вопрос. Мне нужен запрос на вставку, который должен вставлять использованные очки вознаграждения после размещения заказа, чтобы они вычитались из общего числа, но они только вычитаются, когда статус заказа изменен для завершения – Haroon

ответ

0

Проблема решается путем изменения статуса Порядковый по умолчанию обработки. До того, как статус заказа по умолчанию был Ожидается, из-за чего очки вознаграждения не были вычтены. Так что вознаграждения очков вычитаются только при заказе статус не ожидается. Проблема решена!

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

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