首页 > iWebShop > iwebshop3.2.15050500 bug:后台修改订单导致会员组价格出错
2015
06-02

iwebshop3.2.15050500 bug:后台修改订单导致会员组价格出错

iwebshop3.2.15050500 bug:后台修改订单导致会员组价格出错,原因:更新订单信息时,/controllers/order.php 里function order_update()调用/classes/countsum.php时,如果在同一个浏览器在前台登录了会员,无论修改哪个会员的订单,都会错误地调用了这个会员的信息,从而造成修改订单后,会员价格错乱。

解决办法:

1、/controllers/order.php 查找 $countSumObj = new CountSum(); 将其修改为 $countSumObj = new CountSum($dataArray['user_id']);

2、/classes/countsum.php 将:

public function __construct() {
    $this->user_id = ISafe::get('user_id');
    //获取用户组ID及组的折扣率
    if($this->user_id != null)  { 
        $groupObj = new IModel('member as m , user_group as g'); 
        $groupRow = $groupObj->getObj('m.user_id = '.$this->user_id.' and m.group_id = g.id','g.*'); 
        if($groupRow)   { 
            $this->group_id       = $groupRow['id']; 
            $this->group_discount = $groupRow['discount'] * 0.01; 
        }
    }
}

 

修改为:

public function __construct($user_id='') {
    $this->user_id = $user_id;
    if(!$this->user_id){ 
        $this->user_id = ISafe::get('user_id');
    }
    //获取用户组ID及组的折扣率
    if($this->user_id != null)  { 
        $groupObj = new IModel('member as m , user_group as g'); 
        $groupRow = $groupObj->getObj('m.user_id = '.$this->user_id.' and m.group_id = g.id','g.*'); 
        if($groupRow)   { 
            $this->group_id       = $groupRow['id'];    
            $this->group_discount = $groupRow['discount'] * 0.01;   
        }  
    } 
}

 


留下一个回复

你的email不会被公开。