2016-10-14 34 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先生,我更新了我的问题。我需要插入查询,它应该在下订单后插入使用的奖励点数,以便从总数中扣除,但只有在订单状态更改为完成时才会扣除 – Haroon

回答

0

问题是通过更改默认的订单状态到处理解决。 在默认订单状态为待定之前,由于未扣除奖励积分。因此,仅在订单状态未处于待定状态时扣除奖励积分。 问题解决了!