/** * 插入订单信息 * @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; }
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); }