login_white = array('get_package');//登录白名单 $this->load->model('receiver/receiver_services_model','services_model'); $this->load->model('receiver/receiver_service_package_model','package_model'); $this->load->model('receiver/receiver_customers_model','customers_model'); $this->load->model('receiver/order/receiver_orders_model','orders_model'); $this->load->model('auto/auto_cars_model'); $this->load->model("biz/biz_model"); $this->load->model('sys/sys_city_model'); $this->load->library('receiver/orders_entity'); } protected function get(){ //获取服务 $cus_id = $this->input_param('cus_id'); $s_id = $this->input_param('car_id'); $v_id = $this->input_param('v_id'); $payway = $this->input_param('payway'); $id = $this->input_param('id'); $order_row = $this->orders_model->get(['id'=>$id]); $row = $this->customers_model->get(['id'=>$cus_id],'biz_id'); $car_row = $this->auto_cars_model->get(['s_id'=>$s_id,'v_id'=>$v_id,'status'=>1],'price_insure,price_fine'); $where = [ 'id!=' => 3 ]; $payway && $where['id !='] = 4; //全款不显示金融 $count = $this->services_model->count($where); $list = []; if($count){ $price_arr = json_decode($order_row['money_json'],true); !$price_arr['price_insure'] && $price_arr['price_insure'] = floatval($car_row['price_insure']); !$price_arr['price_fine'] && $price_arr['price_fine'] = floatval($car_row['price_fine']); if(!$price_arr['price_finance']){ $orders_entity = new Orders_entity(); $price_arr['price_finance'] = $car_row['brand_id'] ==4 ? $orders_entity::PRICE_FINANCE_NZ : $orders_entity::PRICE_FINANCE; } if(!$price_arr['fee_carno']){ //获取挂牌价 if($car_row['brand_id']==3){ //狸车品牌写死挂牌费用0.01 测试用 $price_arr['fee_carno'] = 0.01; }else{ $biz = $this->biz_model->get(['id'=>$row['biz_id']],'id,city_id'); $city = $this->sys_city_model->get(['city_id'=>$biz['city_id']],'fee_carno'); $price_arr['fee_carno'] = floatval($city['fee_carno']); } } $rows = $this->services_model->select($where,'','','','id,title,field_name'); foreach($rows as $key=>$val){ $field_arr = explode('.',$val['field_name']); $list[] = [ 'id' => $val['id'], 'title' => $val['title'], 'price' => $price_arr[$field_arr[1]] && $field_arr[1]!='price_insure' ? $price_arr[$field_arr[1]] : 0 ]; } } $data = [ 'list' => $list, 'total' => $count ]; return $data; } //服务包 protected function get_package(){ $page = $this->input_param('page'); $size = $this->input_param('size'); $type = $this->input_param('type'); !$page && $page = 1; !$size && $size = 10; $where = [ 'status' => 1 ]; $srv_id = 4; //金融服务 $count = $this->package_model->count($where); $list = []; if($count){ $rows = $this->package_model->select($where,'id desc',$page,$size,'id,srv_ids'); foreach($rows as $key=>$val){ $title = ''; $srv_id_arr = explode(',',$val['srv_ids']); if(!is_array($srv_id_arr)){ continue; } if($type==1){ //全款 过滤包含金融包 if(!in_array($srv_id,$srv_id_arr)){ $s_where = [ "id in ({$val['srv_ids']})" => null ]; $s_rows = $this->services_model->select($s_where,'','','','id,title'); $s_rows && $title = implode('+',array_column($s_rows,'title')); $list[] = [ 'id' => $val['id'], 'title' => $title ]; } }else{ //分期 必须包含金融包 if(in_array($srv_id,$srv_id_arr)){ $s_where = [ "id in ({$val['srv_ids']})" => null ]; $s_rows = $this->services_model->select($s_where,'','','','id,title'); $s_rows && $title = implode('+',array_column($s_rows,'title')); $list[] = [ 'id' => $val['id'], 'title' => $title ]; } } } } $data = [ 'list' => $list, 'total' => $count ]; return $data; } }