diff --git a/admin/controllers/app/liche/Order.php b/admin/controllers/app/liche/Order.php index a4588e71..fab8f88d 100644 --- a/admin/controllers/app/liche/Order.php +++ b/admin/controllers/app/liche/Order.php @@ -15,6 +15,7 @@ class Order extends HD_Controller parent::__construct(); $this->load->model('receiver/order/receiver_orders_model', 'orders_model'); $this->load->model('app/liche/app_liche_orders_model'); + $this->load->model('app/liche/app_liche_users_model'); $this->load->model('sys/sys_company_model'); } @@ -25,7 +26,7 @@ class Order extends HD_Controller public function lists() { - $input = $this->input->get(); + $this->data['params'] = $params = $this->input->get(); $page = $input['page']; $size = $input['size']; !$page && $page = 1; @@ -36,12 +37,27 @@ class Order extends HD_Controller 'pid' => 0, 'status>=' => 0 ]; + if($params['mobile']){ + $user = $this->app_liche_users_model->get(['mobile'=>$params['mobile']]); + if($user){ + $where["(uid={$user['id']} or entrust_uid={$user['id']})"] = null; + } + } $count = $this->app_liche_orders_model->count($where); if($count){ $rows = $this->app_liche_orders_model->select($where,'id desc',$page,$size,'id,o_id,sid,c_time'); $type_arr = $this->app_liche_orders_model->get_type_arr(); - + $o_id_arr = array_column($rows,'o_id'); + $order_rows = []; + if($o_id_arr){ + $o_id_str = implode(',',$o_id_arr); + $o_where = [ + "id in ($o_id_str)" => null + ]; + $order_rows = $this->orders_model->map('id','',$o_where,'','','','id,sid,name,mobile'); + } foreach($rows as $key => $val){ + $order = $order_rows[$val['o_id']] ? $order_rows[$val['o_id']][0] : []; $sub_lists = []; $sub_where = [ 'pid>' => 0, @@ -68,7 +84,9 @@ class Order extends HD_Controller } $lists[] = [ 'o_id' => $val['o_id'], - 'sid' => $val['sid'], + 'sid' => $order['sid'], + 'name' => $order['name'], + 'mobile' => $order['mobile'], 'c_time' => date('Y-m-d H:i',$val['c_time']), 'sub_lists' => $sub_lists ]; @@ -123,7 +141,12 @@ class Order extends HD_Controller $this->load->service('apporder/payment_service', array('app_id' => 1)); $descrip = '后台确认线下交款'; $p_row = $this->app_liche_orders_model->get(['id'=>$row['pid']]); - if($row['type']==3 && !$p_row['status']){ //尾款 + if($row['type']==3 && !$p_row['pid']){ //尾款 + //是否存在未支付订单 + $un_pay = $this->app_liche_orders_model->count(['type'=>3,'o_id'=>$row['o_id'],'id!='=>$row['id'],'status'=>0]); + if($un_pay){ + return $this->show_json(SYS_CODE_FAIL, '存在未支付尾款子订单,请先完成子订单'); + } //未支付金额 $pay = $this->app_liche_orders_model->sum('total_price',['type'=>3,'o_id'=>$row['o_id'],'id!='=>$row['id']]); $need_pay = $row['total_price'] - $pay['total_price']; @@ -136,6 +159,7 @@ class Order extends HD_Controller 'o_id' => $row['o_id'], 'sid' => $sid, 'uid' => $row['uid'], + 'entrust_uid' => $row['entrust_uid'], 'mch_id' => $row['mch_id'], 'pid' => $row['id'], 'brand_id' => $row['brand_id'], diff --git a/admin/views/app/liche/order/lists.php b/admin/views/app/liche/order/lists.php index 0dbdac63..489a9adb 100644 --- a/admin/views/app/liche/order/lists.php +++ b/admin/views/app/liche/order/lists.php @@ -1,11 +1,11 @@