当前位置: 首页>>代码示例>>PHP>>正文


PHP block::createOrderNum方法代码示例

本文整理汇总了PHP中block::createOrderNum方法的典型用法代码示例。如果您正苦于以下问题:PHP block::createOrderNum方法的具体用法?PHP block::createOrderNum怎么用?PHP block::createOrderNum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在block的用法示例。


在下文中一共展示了block::createOrderNum方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: order_update

 /**
  * @brief 保存添加订单
  * */
 public function order_update()
 {
     //获取post参数-----order表中
     $user_id = IFilter::act(IReq::get('user_id'), 'int');
     $payment = IFilter::act(IReq::get('payment'), 'int');
     $payable_amount = IFilter::act(IReq::get('total'), 'float');
     $real_amount = IFilter::act(IReq::get('real_total'), 'float');
     $payable_freight = IFilter::act(IReq::get('delivery_price'), 'float');
     $real_freight = IFilter::act(IReq::get('real_freight'), 'float');
     $taxes = IFilter::act(IReq::get('taxes'), 'float');
     $pay_fee = IFilter::act(IReq::get('pay_fee'), 'float');
     $order_no = block::createOrderNum();
     //获得货到付款
     $pay_type = IFilter::act(IReq::get('pay_type'));
     if ($pay_type == 1) {
         $payment = IFilter::act(IReq::get('paymen'), 'int');
     }
     //获得order表对象
     $tb_order = new IModel('order');
     $tb_order->setData(array('user_id' => $user_id, 'accept_name' => IFilter::act(IReq::get('accept_name')), 'pay_code' => IFilter::act(IReq::get('pay_code')), 'distribution' => IFilter::act(IReq::get('delivery'), 'int'), 'pay_type' => $payment, 'status' => 1, 'pay_status' => 0, 'distribution_status' => 0, 'postcode' => IFilter::act(IReq::get('postcode')), 'telphone' => IFilter::act(IReq::get('telphone')), 'province' => IFilter::act(IReq::get('province'), 'int'), 'city' => IFilter::act(IReq::get('city'), 'int'), 'area' => IFilter::act(IReq::get('area'), 'int'), 'mobile' => IFilter::act(IReq::get('mobile')), 'address' => IFilter::act(IReq::get('address')), 'postscript' => IFilter::act(IReq::get('postscript')), 'create_time' => date('Y-m-d H:i:s'), 'payable_amount' => $payable_amount, 'real_amount' => $real_amount, 'payable_freight' => $payable_freight, 'real_freight' => $real_freight, 'order_no' => $order_no, 'invoice' => IFilter::act(IReq::get('invoice'), 'int'), 'invoice_title' => IFilter::act(IReq::get('invoice_title')), 'promotions' => $payable_amount - $real_amount, 'taxes' => $taxes, 'pay_fee' => $pay_fee, 'order_amount' => $real_amount + $real_freight + $taxes + $pay_fee, 'accept_time' => '任意'));
     //保存order数据,并且获得order_id
     $order_id = $tb_order->add();
     //实付总金额
     $real_amount = 0;
     //第二步获得order_goods表的内容,包括order_id,goods_id,products_id等主要项目
     $goods_id = IFilter::act(IReq::get('goods_id'));
     $product_id = IFilter::act(IReq::get('p_id'));
     $goods_price = IFilter::act(IReq::get('price'));
     $real_price = IFilter::act(IReq::get('real_price'));
     $goods_nums = IFilter::act(IReq::get('number'));
     $goods_weight = IFilter::act(IReq::get('weight'));
     $g_id_arr = explode(',', $goods_id);
     $p_id_arr = explode(',', $product_id);
     $g_pr_arr = explode(',', $goods_price);
     $r_pr_arr = explode(',', $real_price);
     $g_nu_arr = explode(',', $goods_nums);
     $g_we_arr = explode(',', $goods_weight);
     $point = 0;
     $exp = 0;
     //循环保存order_goods表中数据
     $tb_goods = new IModel('goods');
     $tb_order_goods = new IModel('order_goods');
     $tb_products = new IModel('products');
     foreach ($g_id_arr as $key => $value) {
         //根据会员组获得产品的实际价格
         $tb_order_goods->setData(array('order_id' => $order_id, 'goods_id' => $g_id_arr[$key], 'product_id' => $p_id_arr[$key], 'goods_price' => $g_pr_arr[$key], 'real_price' => $r_pr_arr[$key], 'goods_nums' => $g_nu_arr[$key], 'goods_weight' => $g_we_arr[$key]));
         $og_id = $tb_order_goods->add();
         $ids = array();
         $ids['name'] = '';
         $info = $tb_goods->query('id=' . $g_id_arr[$key]);
         if (count($info) > 0) {
             $ids['name'] = $info[0]['name'];
             //计算积分
             $point += $g_nu_arr[$key] * $info[0]['point'];
             $exp += $g_nu_arr[$key] * $info[0]['exp'];
         }
         $ids['value'] = '';
         $p_info = $tb_products->query('id=' . $p_id_arr[$key]);
         if (count($p_info) > 0) {
             $spec_array = Block::show_spec($p_info[0]['spec_array']);
             foreach ($spec_array as $ky => $vaa) {
                 $ids['value'] .= $ky . ':' . $vaa . ',';
             }
         }
         $tb_order_goods->setData(array('goods_array' => serialize($ids)));
         $tb_order_goods->update('id=' . $og_id);
         //减goods表中以及products中的库存
         Block::updateStore($order_id, $type = 'reduce');
         //计算实付总金额
         $real_amount = $real_amount + $real_price * $g_nu_arr[$key];
     }
     if ($point) {
         //更新积分
         $tb_order->setData(array('point' => $point, 'exp' => $exp));
         $tb_order->update('id=' . $order_id);
     }
     //获取post值,看用户是否要保存收货地址
     $if_save = IReq::get('if_save');
     if ($if_save) {
         $tb_address = new IModel('address');
         $tb_address->setData(array('user_id' => $user_id, 'accept_name' => IFilter::act(IReq::get('accept_name')), 'zip' => IFilter::act(IReq::get('postcode')), 'telphone' => IFilter::act(IReq::get('telphone')), 'province' => IFilter::act(IReq::get('province'), 'int'), 'city' => IFilter::act(IReq::get('city'), 'int'), 'area' => IFilter::act(IReq::get('area'), 'int'), 'address' => IFilter::act(IReq::get('address')), 'mobile' => IFilter::act(IReq::get('mobile')), 'default' => 0));
         $tb_address->add();
     }
     //生成订单日志
     $tb_order_log = new IModel('order_log');
     $tb_order_log->setData(array('order_id' => $order_id, 'user' => $this->admin['admin_id'], 'action' => '添加', 'result' => '成功', 'note' => '订单【' . $order_no . '】创建', 'addtime' => date('Y-m-d H:i:s')));
     $tb_order_log->add();
     $logObj = new log('db');
     $logObj->write('operation', array("管理员:" . ISafe::get('admin_name'), "生成了新订单", '订单号:' . $order_no));
     $this->redirect('order_list');
 }
开发者ID:chenyongze,项目名称:iwebshop,代码行数:94,代码来源:order.php

示例2: cart3

 function cart3()
 {
     $accept_name = IFilter::act(IReq::get('accept_name'));
     $province = IFilter::act(IReq::get('province'), 'int');
     $city = IFilter::act(IReq::get('city'), 'int');
     $area = IFilter::act(IReq::get('area'), 'int');
     $address = IFilter::act(IReq::get('address'));
     $mobile = IFilter::act(IReq::get('mobile'));
     $telphone = IFilter::act(IReq::get('telphone'));
     $zip = IFilter::act(IReq::get('zip'));
     $delivery_id = IFilter::act(IReq::get('delivery_id'), 'int');
     $accept_time_radio = IFilter::act(IReq::get('accept_time_radio'), 'int');
     $accept_time = IFilter::act(IReq::get('accept_time'));
     $payment = IFilter::act(IReq::get('payment'), 'int');
     $order_message = IFilter::act(IReq::get('message'));
     $ticket_id = IFilter::act(IReq::get('ticket_id'), 'int');
     $is_tax = IFilter::act(IReq::get('is_tax'), 'int');
     $tax_title = IFilter::act(IReq::get('tax_title'), 'text');
     $gid = intval(IReq::get('direct_gid'));
     $num = intval(IReq::get('direct_num'));
     $type = IFilter::act(IReq::get('direct_type'));
     //商品或者货品
     $promo = IFilter::act(IReq::get('direct_promo'));
     $active_id = intval(IReq::get('direct_active_id'));
     $tourist = IReq::get('tourist');
     //游客方式购物
     $order_no = block::createOrderNum();
     $order_type = 0;
     $is_protectPrice = IFilter::act(IReq::get('protect_price'));
     $dataArray = array();
     //防止表单重复提交
     if (IReq::get('timeKey') != null) {
         if (ISafe::get('timeKey') == IReq::get('timeKey')) {
             IError::show(403, '订单数据不能被重复提交');
             exit;
         } else {
             ISafe::set('timeKey', IReq::get('timeKey'));
         }
     }
     if ($province == 0 || $city == 0 || $area == 0) {
         IError::show(403, '请填写收货地址的省市地区');
     }
     if ($delivery_id == 0) {
         IError::show(403, '请选择配送方式');
     }
     $user_id = $this->user['user_id'] == null ? 0 : $this->user['user_id'];
     //活动特殊处理
     if ($promo != '' && $active_id != '') {
         //团购
         if ($promo == 'groupon') {
             $hashId = $user_id ? $user_id : ICookie::get("regiment_{$active_id}");
             //此团购还存在已经报名但是未付款的情况
             if (regiment::hasJoined($active_id, $hashId) == true) {
                 IError::show(403, '您已经参加过此次团购,请先完成支付');
                 exit;
             }
             //团购已经达到限定的人数
             if (regiment::isFull($active_id) == true) {
                 IError::show(403, '此团购的参加人数已满');
                 exit;
             }
             $order_type = 1;
             //团购开始报名
             $joinUserId = $user_id ? $user_id : null;
             $resultData = regiment::join($active_id, $joinUserId);
             $is_success = '';
             if ($resultData['flag'] == true) {
                 $regimentRelationObj = new IModel('regiment_user_relation');
                 $regimentRelationObj->setData(array('order_no' => $order_no));
                 $is_success = $regimentRelationObj->update('id = ' . $resultData['relation_id']);
             }
             if ($is_success == '' || $resultData['flag'] == false) {
                 $errorMsg = isset($resultData['data']) && $resultData['data'] != '' ? $resultData['data'] : '团购报名失败';
                 IError::show(403, $errorMsg);
                 exit;
             }
         } else {
             if ($promo == 'time') {
                 $order_type = 2;
             }
         }
     }
     //付款方式,判断是否为货到付款
     $deliveryObj = new IModel('delivery');
     $deliveryRow = $deliveryObj->getObj('id = ' . $delivery_id, 'type');
     if ($deliveryRow['type'] == 0 && $payment == 0) {
         IError::show(403, '请选择支付方式');
     } else {
         if ($deliveryRow['type'] == 1) {
             $payment = 0;
         }
     }
     $countSumObj = new CountSum();
     //直接购买商品方式
     if ($type != '' && $gid != 0) {
         //计算$gid商品
         $goodsResult = $countSumObj->direct_count($gid, $type, $num, $promo, $active_id);
     } else {
         //计算购物车中的商品价格$goodsResult
         $goodsResult = $countSumObj->cart_count();
//.........这里部分代码省略.........
开发者ID:chenyongze,项目名称:iwebshop,代码行数:101,代码来源:simple.php


注:本文中的block::createOrderNum方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。