Example #1
0
 /**
  * @brief 获得订单的实际金额和商品的实际价格
  */
 public function getAmount()
 {
     //获得ajax中post传来的数据
     $uid = IFilter::act(IReq::get('uid'));
     $price = IFilter::act(IReq::get('price'));
     $gid = IFilter::act(IReq::get('gid'));
     $number = IFilter::act(IReq::get('number'));
     $pid = IFilter::act(IReq::get('pid'));
     //将price和gid转换为数组
     $price_arr = array();
     $gid_arr = array();
     $num_arr = array();
     $pid_arr = array();
     $price_arr = explode(',', $price);
     $gid_arr = explode(',', $gid);
     $num_arr = explode(',', $number);
     $pid_arr = explode(',', $pid);
     //获得order_class的对象
     $ord_class = new Order_Class();
     //实际价格
     $real_price = '';
     //执行折扣前的总金额
     $real_amount = 0;
     //循环获得商品的实际价格和实际总金额
     foreach ($price_arr as $key => $value) {
         $real = $ord_class->get_real_price($uid, $gid_arr[$key], $pid_arr[$key], $price_arr[$key]);
         $real_price .= $real . ',';
         $real_amount = $real_amount + $real * $num_arr[$key];
     }
     $real_price = substr($real_price, 0, -1);
     //获得group_id
     $tb_member = new IModel('member');
     $member_info = $tb_member->query('user_id=' . $uid);
     //获得规则函数的对象
     $rule = new ProRule($real_amount);
     $rule->setUserGroup($member_info[0]['group_id']);
     //获得规则折扣后的实际总金额
     $real_amount = $rule->getSum();
     //判断是否免运费,true免,false不免
     $isBolg = $rule->isFreeFreight();
     $relieve = '0';
     if ($isBolg) {
         $relieve = '1';
     }
     //返回页面数据实际商品价格和实际总金额
     echo $relieve . ';' . $real_price . ';' . $real_amount;
 }