/**
  * 插入订单信息
  * @param type $invoice_sn
  * @param type $request_data
  * @return type
  */
 private function orderInfoHandler($invoice_sn, $request_data)
 {
     $userinfo = is_login();
     //计算订单号
     $date = date('Y-m-d');
     $cond = array('date' => $date);
     $order_num_model = M('OrderNum');
     $order_num = $order_num_model->where($cond)->getField('num');
     if ($order_num) {
         $order_num++;
         $order_num_model->where($cond)->setInc('num', 1);
     } else {
         $order_num = 1;
         $order_num_data = array('date' => date('Y-m-d'), 'num' => 1);
         $order_num_model->add($order_num_data);
     }
     $order_sn = 'SN' . date('Ymd') . str_pad($order_num, 10, '0', STR_PAD_LEFT);
     //获取收货信息
     $address_info = $this->address_info;
     //获取出配送方式和名称 价格
     $transport = D('Setting')->getTransportList();
     $transport = get_data_by_column($transport, 'id');
     $pay = D('Setting')->getPayList();
     $pay = get_data_by_column($pay, 'id');
     //获取出支付方式和名称
     //得到总的金额
     $order_data = array('sn' => $order_sn, 'member_id' => $userinfo['id'], 'name' => $address_info['name'], 'province_name' => $address_info['pname'], 'city_name' => $address_info['cname'], 'area_name' => $address_info['aname'], 'detail_address' => $address_info['detail_address'], 'tel' => $address_info['tel'], 'invoice_sn' => $invoice_sn, 'delivery_id' => $request_data['transport_id'], 'delivery_name' => $transport[$request_data['transport_id']]['name'], 'delivery_price' => $transport[$request_data['transport_id']]['value'], 'pay_type' => $request_data['pay_id'], 'pay_name' => $pay[$request_data['pay_id']]['name'], 'price' => my_number_format($this->shopping_car['total_price'] + $transport[$request_data['transport_id']]['value']), 'inputtime' => NOW_TIME, 'status' => 0, 'trade_no' => '');
     //创建订单信息表数据
     return $this->add($order_data);
 }
 /**
  * 获取购物车的商品信息,及其数量
  * @return array
  */
 public function getCar()
 {
     $userinfo = is_login();
     if ($userinfo) {
         $car = $this->getCarList($userinfo['id']);
         $car = get_data_by_column($car, 'goods_id');
         $data = array();
         foreach ($car as $item) {
             $data[$item['goods_id']] = $item['amount'];
         }
         $car = $data;
     } else {
         $car = cookie_shopping_car();
     }
     $total_price = 0;
     $goods_num = 0;
     if ($car) {
         //取出各商品的详细信息
         $goods_ids = array_keys($car);
         $goods_model = D('Goods');
         $cond = array('id' => array('in', $goods_ids));
         $goods_info = $goods_model->field('id,name,shop_price,logo')->where($cond)->select();
         $goods_info = get_data_by_column($goods_info, 'id');
         $data = array();
         foreach ($car as $goods_id => $amount) {
             $item = $goods_info[$goods_id];
             $item['amount'] = $amount;
             $item['sub_total'] = my_number_format($item['shop_price'] * $item['amount']);
             $total_price += $item['sub_total'];
             $data[$goods_id] = $item;
             $goods_num += $amount;
         }
         $total_price = my_number_format($total_price);
     } else {
         $data = array();
     }
     $data = array('total_price' => $total_price, 'goods_list' => $data, 'goods_num' => $goods_num);
     return $data;
 }
Exemple #3
0
 public function getList($where, $size)
 {
     //获取所有的品牌
     $brands = D('Brand')->field('id,name')->where(array('status' => array('egt', 0)))->select();
     $suppliers = D('Supplier')->field('id,name')->where(array('status' => array('egt', 0)))->select();
     $brands = get_data_by_column($brands, 'id');
     $suppliers = get_data_by_column($suppliers, 'id');
     $count = $this->where($where)->count();
     $rows = $this->where($where)->page(I('get.p', 1), $size)->select();
     foreach ($rows as $key => $value) {
         $rows[$key]['is_best'] = $value['goods_status'] & 1 ? 1 : 0;
         $rows[$key]['is_new'] = $value['goods_status'] & 2 ? 1 : 0;
         $rows[$key]['is_hot'] = $value['goods_status'] & 4 ? 1 : 0;
         $rows[$key]['brand_name'] = $brands[$value['brand_id']]['name'];
         $rows[$key]['supplier_name'] = $suppliers[$value['supplier_id']]['name'];
     }
     return array($count, $rows);
 }