예제 #1
0
파일: Cart.class.php 프로젝트: lughong/shop
 public static function addOrder($uid = 0, $username = '', $pay_name = '货到付款', $default_address_id = 0)
 {
     if ($uid) {
         //从购物车里获取到商品列表
         $cart_goods_list = Cart::select($uid);
         if ($cart_goods_list) {
             //计算订单总金额
             $order_total_data = self::getOrderTotal($cart_goods_list);
             $total = $order_total_data['total'];
             //运费
             $shipping_fee = self::getOrderShippingFee($total);
             //优惠
             $bonus = 0;
             //使用优惠券...
             //收货地址
             $address_info = UserAddress::getAddrByAddressId($uid, $default_address_id);
             if (!$address_info) {
                 $address_info = UserAddress::getDefaultAddress($uid);
             }
             $data['sn'] = self::createOrderSn();
             //订单号
             $data['uid'] = $uid;
             //用户id
             $data['username'] = $username;
             //用户名
             $data['order_status'] = 'yes';
             //订单有效
             $data['consignee'] = $address_info['consignee'];
             //联系人
             $data['province'] = $address_info['province'];
             //省
             $data['city'] = $address_info['city'];
             //市
             $data['district'] = $address_info['district'];
             //区
             $data['address'] = $address_info['address'];
             //详细地址
             $data['mobile'] = $address_info['mobile'];
             //手机或电话
             $data['shipping_fee'] = $shipping_fee;
             //运费
             $data['bonus'] = $bonus;
             //优惠
             $data['order_money'] = $total;
             //货物总金额
             $data['money_paid'] = $total + $shipping_fee + $bonus;
             //应付款金额
             $data['pay_name'] = $pay_name;
             //付款方式
             //非货到付款操作
             if ($pay_name !== '货到付款') {
                 $data['pay_time'] = time();
                 //支付时间
                 $data['confirm_status'] = 'yes';
                 //确认订单状态(非货到付款自动确认)
                 $data['confirm_time'] = time();
                 //确认订单时间
             }
             $rs = OrderInfo::addOrder($data);
             if ($rs) {
                 //下单成功,减少库存
                 AdminGoodsM::minusStock($cart_goods_list);
                 //添加到订单商品表
                 OrderGoodsInfo::addGoods($rs, $cart_goods_list);
                 //删除购物车里面的商品信息
                 $where = self::_where($uid);
                 Cart::delete($where);
             }
             //下单成功
             return $rs;
         }
     }
     //下单失败
     return false;
 }