diff --git a/admin/controllers/receiver/Customer.php b/admin/controllers/receiver/Customer.php index e5a945ee..a49e1de3 100644 --- a/admin/controllers/receiver/Customer.php +++ b/admin/controllers/receiver/Customer.php @@ -93,9 +93,10 @@ class Customer extends HD_Controller $where['admin_id'] = $params['admin_id']; } else if ($params['biz_id_admin']) { $where['biz_id'] = $params['biz_id_admin']; - } else { - $params['city_id_admin'] && $where['city_id'] = $params['city_id_admin']; - $params['county_id_admin'] && $where['county_id'] = $params['county_id_admin']; + } else if ($params['county_id_admin']) { + $where["biz_id in(select id from lc_biz where county_id={$params['county_id_admin']})"] = null; + } else if ($params['city_id_admin']) { + $where["biz_id in(select id from lc_biz where city_id={$params['city_id_admin']})"] = null; } !$params['city_id_admin'] && $params['city_id_admin'] = ''; !$params['county_id_admin'] && $params['county_id_admin'] = ''; diff --git a/api/controllers/wxapp/licheb/Biz.php b/api/controllers/wxapp/licheb/Biz.php index 36675f76..9b0351c7 100644 --- a/api/controllers/wxapp/licheb/Biz.php +++ b/api/controllers/wxapp/licheb/Biz.php @@ -72,7 +72,7 @@ class Biz extends Wxapp $orders_per = number_format_com($orders / $customers * 100, 1, ''); $intos_per = number_format_com($intos / $customers * 100, 1, ''); $data['funnel'] = ['title' => '线索转化漏斗', - 'expected_data' => [['name' => "成交数({$orders_per}%)", 'value' => 33.3], ['name' => "到店数({$intos_per}%)", 'value' => 66.7], ['name' => '客户量', 'value' => 100]] + 'expected_data' => [['name' => "成交数({$orders_per}%)", 'value' => 33.3], ['name' => "到店数({$intos_per}%)", 'value' => 66.7], ['name' => '客户数100%', 'value' => 100]] , 'actual_data' => [['name' => '成交数', 'value' => $orders], ['name' => '到店数', 'value' => $intos], ['name' => '客户量', 'value' => $customers]]]; $data['title'] = '门店数据'; return $data; @@ -122,26 +122,26 @@ class Biz extends Wxapp $where = ['biz_id' => $this->biz_id, 'status>=' => 0, 'c_time>=' => $c_time['s_time'], 'c_time<=' => $c_time['e_time']]; foreach ($sdata_level as $v) { $value_1 = $this->mdCustomers->count(array_merge($where, ['level' => $v])); - $pie1_level[] = ['name' => $v, 'value' => $value_1]; + $value_1 && $pie1_level[] = ['name' => $v, 'value' => $value_1]; $value_2 = $this->mdCustomers->db->select('a.id') ->from('lc_receiver_customer_oplogs as a') ->join('lc_receiver_customers as b', "b.id=a.customer_id", 'left') ->where(['a.type' => 4, 'a.log' => '客户到店', 'a.c_time>=' => $c_time['s_time'], 'a.c_time<=' => $c_time['e_time'], 'b.status>=' => 0, 'b.biz_id' => $this->biz_id, 'b.level' => $v]) ->count_all_results(); - $pie2_level[] = ['name' => $v, 'value' => $value_2]; + $value_2 && $pie2_level[] = ['name' => $v, 'value' => $value_2]; } $offlineSources = $this->mdCustomers->offlineSources(); foreach ($offlineSources as $k => $v) { $value_1 = $this->mdCustomers->count(array_merge($where, ['of_id' => $k])); - $pie1_offline[] = ['name' => $v['name'], 'value' => $value_1]; + $value_1 && $pie1_offline[] = ['name' => $v['name'], 'value' => $value_1]; $value_2 = $this->mdCustomers->db->select('a.id') ->from('lc_receiver_customer_oplogs as a') ->join('lc_receiver_customers as b', "b.id=a.customer_id", 'left') ->where(['a.type' => 4, 'a.log' => '客户到店', 'a.c_time>=' => $c_time['s_time'], 'a.c_time<=' => $c_time['e_time'], 'b.status>=' => 0, 'b.biz_id' => $this->biz_id, 'b.of_id' => $k]) ->count_all_results(); - $pie2_offline[] = ['name' => $v['name'], 'value' => $value_2]; + $value_2 && $pie2_offline[] = ['name' => $v['name'], 'value' => $value_2]; } $res_user = $this->app_user_model->select(['status' => 1, 'biz_id' => $this->biz_id], 'id desc', 0, 0, 'id,uname'); foreach ($res_user as $k => $v) { @@ -212,7 +212,7 @@ class Biz extends Wxapp ->where(['a.biz_id' => $this->biz_id, 'a.status>=' => 0, 'a.order_time>=' => $o_time['s_time'], 'a.order_time<=' => $o_time['e_time'] , 'b.of_id' => $k]) ->count_all_results(); - $pie1_series_data[] = ['name' => $v['name'], 'value' => $value]; + $value && $pie1_series_data[] = ['name' => $v['name'], 'value' => $value]; } $res_user = $this->app_user_model->select(['status' => 1, 'biz_id' => $this->biz_id], 'id desc', 0, 0, 'id,uname'); foreach ($res_user as $k => $v) { @@ -223,7 +223,7 @@ class Biz extends Wxapp , 'order_time>=' => $o_time['s_time'], 'order_time<=' => $o_time['e_time']]); } $this->load->model('auto/auto_brand_model', 'mdAutoBrand'); - $series_data_1 = $series_data_2 = []; + $series_data = $series_data_1 = $series_data_2 = []; $where_o = ['biz_id' => $this->biz_id, 'status>=' => 0, 'order_time>=' => $o_time['s_time'], 'order_time<=' => $o_time['e_time']]; $where_r = ['biz_id' => $this->biz_id, 'status' => 2, 'refund_time>=' => $o_time['s_time'], 'refund_time<=' => $o_time['e_time']]; //成交 @@ -238,7 +238,7 @@ class Biz extends Wxapp if ($v['brand_id']) { $value = $this->mdOrders->count(array_merge($where_o, ['brand_id' => $v['brand_id']])); } - $series_data_1[] = ['name' => $name, 'value' => $value]; + $value && $series_data_1[] = ['name' => $name, 'value' => $value]; } } //退定 @@ -253,13 +253,18 @@ class Biz extends Wxapp if ($v['brand_id']) { $value = $this->mdOrders->count(array_merge($where_r, ['brand_id' => $v['brand_id']])); } - $series_data_2[] = ['name' => $name, 'value' => $value]; + $value && $series_data_2[] = ['name' => $name, 'value' => $value]; } } + if ($orders && $refunds) { + $series_data[] = ['name' => '成交数', 'value' => $orders, 'selected' => true]; + } else if ($orders) { + $series_data[] = ['name' => '成交数', 'value' => $orders]; + } + $refunds && $series_data[] = ['name' => '退定数', 'value' => $refunds]; $data['pie1'] = ['title' => '订单来源', 'series_data' => $pie1_series_data]; $data['pie2'] = ['title' => '品牌分布' - , 'series_data' => [['name' => '成交数', 'value' => $orders, 'selected' => true], ['name' => '退定数', 'value' => $refunds]] - , 'series_data_1' => $series_data_1, 'series_data_2' => $series_data_2 + , 'series_data' => $series_data, 'series_data_1' => $series_data_1, 'series_data_2' => $series_data_2 ]; $data['bar'] = ['title' => '顾问成交情况', 'xAxis_data' => $users , 'series' => [['name' => '客户数', 'type' => 'bar', 'data' => $users_customer], ['name' => '订单数', 'type' => 'bar', 'data' => $users_order]]]; diff --git a/home/controllers/h5/Persona.php b/home/controllers/h5/Persona.php index bc709ddc..b57df836 100644 --- a/home/controllers/h5/Persona.php +++ b/home/controllers/h5/Persona.php @@ -226,6 +226,12 @@ class Persona extends CI_Controller $userInfo = $params['userInfo']; $mobile = $userInfo['mobile']; $biz_id = intval($userInfo['biz_id']); + if (!$params['of_id']) { + $this->show_json(200, '请选择线索来源'); + } + if ($mobile && !mobile_valid($mobile)) { + $this->show_json(200, '请输入正确的手机号码'); + } $this->load->library('receiver/customers_entity'); $this->load->model('receiver/receiver_customers_model', 'mdCustomers'); $this->load->model('receiver/receiver_customer_tagdata_model', 'mdCustomerTagdata');