浏览代码

预约单开单

lizhen_gitee 1 年之前
父节点
当前提交
244486b96e
共有 1 个文件被更改,包括 61 次插入1 次删除
  1. 61 1
      application/admin/controller/PreOrder.php

+ 61 - 1
application/admin/controller/PreOrder.php

@@ -101,7 +101,67 @@ class PreOrder extends Backend
      * 开单
      */
     public function submitorder(){
-        $info = Db::name('pre_order')->find();
+        $pre_order_id = input('id',0); //预约单id
 
+        $data = request_post_hub([
+            'user_name','user_car_number','user_mobile','user_address',
+            'servicetype_id','server_time','server_info','server_images','pay_fee'
+        ]);
+
+        Db::startTrans();
+
+        //预约单
+
+        $map = ['id'=>$pre_order_id];
+        $pre_order = Db::name('pre_order')->where($map)->lock(true)->find();
+
+
+        $data['pre_order_id'] = $pre_order_id;
+        $data['user_id'] = $pre_order['user_id'];
+
+
+        //修改状态
+        $update = [
+            'order_time'   => time(),
+            'updatetime'    => time(),
+            'pre_order_status' => 2,
+        ];
+        $update_rs = Db::name('pre_order')->where('id',$pre_order_id)->update($update);
+        if($update_rs === false){
+            Db::rollback();
+            $this->error('下单失败');
+        }
+
+
+        //检索car_id,没必要了
+
+        //准备数据
+        $data['orderno']    = createUniqueNo('O',$pre_order_id);
+        $data['ordertype']    = 1;  //类型:1=预约下单,2=在线下单,3=套餐订单
+        $data['company_id'] = $pre_order['company_id'];
+        $data['staff_id']   = $this->auth->id;
+        $data['total_fee']  = $data['pay_fee'];
+
+        $data['status'] = 2; //2=已支付,待处理
+        $data['createtime'] = time();
+
+        $order_id = Db::name('order')->insertGetId($data);
+        if(!$order_id){
+            Db::rollback();
+            $this->error('下单失败');
+        }
+
+
+        $update = [
+            'order_id'   => $order_id,
+        ];
+        $update_rs = Db::name('pre_order')->where('id',$pre_order_id)->update($update);
+        if($update_rs === false){
+            Db::rollback();
+            $this->error('下单失败');
+        }
+
+        Db::commit();
+        $this->success('下单完成',$order_id);
     }
 }