Files
liche/api/controllers/wxapp/licheb/Services.php
T
2021-11-06 15:58:32 +08:00

135 lines
5.2 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Created by Vim
* User: lcc
* Date: 2021/08/09
* Time: 11:08
*/
require_once APPPATH.'controllers/wxapp/Wxapp.php';
class Services extends Wxapp{
function __construct($inputs, $app_key){
parent::__construct($inputs, $app_key);
$this->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]);
$where = [];
$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]] ? $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;
}
}