diff --git a/api/controllers/plan/Customer.php b/api/controllers/plan/Customer.php
index d52425a0..35cc38e2 100644
--- a/api/controllers/plan/Customer.php
+++ b/api/controllers/plan/Customer.php
@@ -34,6 +34,7 @@ class Customer extends HD_Controller
}
$this->load->model('receiver/Receiver_customer_stat_plan_model', 'statplan');
$this->load->model('receiver/Receiver_customer_stat_data_model', 'statdata');
+ $this->load->model('receiver/Receiver_customer_stat_data_log_model', 'statdatalog');
$where = array('s_date <= DATE(now()) and DATE(now()) <= e_date and last_date < DATE(now())'=> null);
$plans = $this->statplan->select($where, '', 0, 0);
@@ -49,6 +50,10 @@ class Customer extends HD_Controller
$s_date = $plan['s_date'];
$stat_date = date('Y-m-d');
$c_time = time();
+ # 先删除今日数据
+ $this->statdata->delete(array('spid' => $spid, 'stat_date' => $stat_date));
+ $this->statdatalog->delete(array('spid' => $spid, 'stat_date' => $stat_date));
+ # 1 生成统计数据
$sql = "
select * from (
select 1 as group_id, '总数' as k, count(*) as v from lc_receiver_customers c where of_id = @of_id and of2_id = @of2_id and c_time >= UNIX_TIMESTAMP('@s_date')
@@ -75,7 +80,12 @@ class Customer extends HD_Controller
union all
select 10021 as group_id, ' - 战败-有购车意向-对产品不满意' as k, count(*) as v from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date') and c.status = 3 and id in (select c_id from lc_receiver_customers_tagdata where t_id in (select id from lc_receiver_customers_tag where tag_type = 1 and pid in (111))) group by k
union all
- select 10030 as group_id, '加V(扣除 战败-无购车意向)' as k, count(*) as v from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date') and id not in (select c_id from lc_receiver_customers_tagdata where t_id in (select id from lc_receiver_customers_tag where tag_type = 1 and pid in (103, 107))) and wxgr = 1 group by k
+ select 10030 as group_id, '加V(扣除 战败-无购车意向)' as k, count(*) as v from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date') and id not in (
+ select c.id from lc_receiver_customers c
+ where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date')
+ and c.status = 3
+ and id in (select c_id from lc_receiver_customers_tagdata where t_id in (select id from lc_receiver_customers_tag where tag_type = 1 and pid in (103, 107)))
+ ) and wxgr = 1 group by k
union all
select 10040 as group_id, '未见客户的见面意向' as k, count(*) as v from lc_receiver_customers_tagdata td join lc_receiver_customers_tag t on td.t_id = t.id where t.tag_type = 2 and t.pid in (120) and td.c_id in (select id from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date') and c.status = 0) group by k
union all
@@ -111,12 +121,175 @@ class Customer extends HD_Controller
$data[] = $row;
}
$res = $this->statdata->add_batch($data);
- if ($res){
+
+ # 2 生成统计数据的log
+ $sql = "
+ insert into lc_receiver_customers_stat_data_log(
+ spid,
+ stat_date,
+ c_time,
+ c_id,
+ biz_id,
+ biz_name,
+ city_id,
+ city_name,
+ admin_id,
+ admin_name,
+ status,
+ wxqy,
+ wxgr,
+
+ tag_id_1_1,
+ tag_id_1_1_name,
+ tag_id_1_2,
+ tag_id_1_2_name,
+
+ tag_id_2_1,
+ tag_id_2_1_pid,
+ tag_id_2_1_name,
+ tag_id_2_1_pid_name,
+
+ tag_id_2_2,
+ tag_id_2_2_pid,
+ tag_id_2_2_name,
+ tag_id_2_2_pid_name,
+
+ o_id,
+ brand_id,
+ brand_name,
+ s_id,
+ s_name
+ )
+ select
+ @spid as spid,
+ date(now()) as stat_date,
+ UNIX_TIMESTAMP() as c_time,
+ c.id as c_id,
+ c.biz_id,
+ b.biz_name,
+ b.city_id,
+ ct.name as city_name,
+ c.admin_id,
+ u.uname as admin_name,
+ c.status,
+ c.wxqy,
+ c.wxgr,
+
+ tg11.tag_id_pid as tag_id_1_1,
+ tg11.tag_id_pid_name as tag_id_1_1_name,
+ tg12.tag_id_pid as tag_id_1_2,
+ tg12.tag_id_pid_name as tag_id_1_2_name,
+
+ tg21.tag_id as tag_id_2_1,
+ tg21.tag_id_pid as tag_id_2_1_pid,
+ tg21.tag_id_name as tag_id_2_1_name,
+ tg21.tag_id_pid_name as tag_id_2_1_pid_name,
+
+ tg22.tag_id as tag_id_2_2,
+ tg22.tag_id_pid as tag_id_2_2_pid,
+ tg22.tag_id_name as tag_id_2_2_name,
+ tg22.tag_id_pid_name as tag_id_2_2_pid_name,
+
+ null as o_id,
+ null as brand_id,
+ '' as brand_name,
+ null as s_id,
+ '' as s_name
+ from lc_receiver_customers c
+ left join lc_biz b on c.biz_id = b.id
+ left join lc_sys_city ct on b.city_id = ct.city_id
+ left join lc_app_licheb_users u on c.admin_id = u.id
+ left join (
+ select distinct td.c_id, t.pid as tag_id_pid, tp.name as tag_id_pid_name
+ from lc_receiver_customers_tagdata td left join lc_receiver_customers_tag t on td.t_id = t.id
+ left join lc_receiver_customers_tag tp on t.pid = tp.id
+ where t.tag_type = 1
+ and t.pid in (103, 107)
+ and td.c_id in (select id from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date'))
+ ) tg11 on c.id = tg11.c_id
+ left join (
+ select distinct td.c_id, t.pid as tag_id_pid, tp.name as tag_id_pid_name
+ from lc_receiver_customers_tagdata td left join lc_receiver_customers_tag t on td.t_id = t.id
+ left join lc_receiver_customers_tag tp on t.pid = tp.id
+ where t.tag_type = 1
+ and t.pid in (100, 110, 111)
+ and td.c_id in (select id from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date'))
+ ) tg12 on c.id = tg12.c_id
+ left join (
+ select td.c_id, td.t_id as tag_id, t.name as tag_id_name, t.pid as tag_id_pid, tp.name as tag_id_pid_name
+ from lc_receiver_customers_tagdata td join lc_receiver_customers_tag t on td.t_id = t.id
+ left join lc_receiver_customers_tag tp on t.pid = tp.id
+ where t.tag_type = 2
+ and t.pid in (120)
+ and td.c_id in (select id from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date') and c.status = 0)
+ ) tg21 on c.id = tg21.c_id
+ left join (
+ select td.c_id, td.t_id as tag_id, t.name as tag_id_name, t.pid as tag_id_pid, tp.name as tag_id_pid_name
+ from lc_receiver_customers_tagdata td join lc_receiver_customers_tag t on td.t_id = t.id
+ left join lc_receiver_customers_tag tp on t.pid = tp.id
+ where t.tag_type = 2
+ and t.pid in (121)
+ and td.c_id in (select id from lc_receiver_customers c where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date') and c.status = 1)
+ ) tg22 on c.id = tg22.c_id
+ where c.of_id = @of_id and c.of2_id = @of2_id and c.c_time >= UNIX_TIMESTAMP('@s_date')
+ union all
+ select
+ 1 as spid,
+ date(now()) as stat_date,
+ UNIX_TIMESTAMP() as c_time,
+ c.id as c_id,
+ c.biz_id,
+ b.biz_name,
+ b.city_id,
+ ct.name as city_name,
+ c.admin_id,
+ u.uname as admin_name,
+ c.status,
+ c.wxqy,
+ c.wxgr,
+
+ null as tag_id_1_1,
+ '' as tag_id_1_1_name,
+ null as tag_id_1_2,
+ '' as tag_id_1_2_name,
+
+ null as tag_id_2_1,
+ null as tag_id_2_1_pid,
+ '' as tag_id_2_1_name,
+ '' as tag_id_2_1_pid_name,
+
+ null as tag_id_2_2,
+ null as tag_id_2_2_pid,
+ '' as tag_id_2_2_name,
+ '' as tag_id_2_2_pid_name,
+
+ o.id as o_id,
+ o.brand_id,
+ brand.`name` as brand_name,
+ o.s_id,
+ s.`name` as s_name
+ from lc_receiver_orders_v2 o
+ left join lc_auto_brand brand on o.brand_id = brand.id
+ left join lc_auto_series s on o.s_id = s.id
+ left join lc_receiver_customers c on o.customer_id = c.id
+ left join lc_biz b on c.biz_id = b.id
+ left join lc_sys_city ct on b.city_id = ct.city_id
+ left join lc_app_licheb_users u on c.admin_id = u.id
+ where o.`status` in (0, 1)
+ and customer_id in (select id from lc_receiver_customers c where of_id = @of_id and of2_id = @of2_id and c_time >= UNIX_TIMESTAMP('@s_date'))
+ ";
+ $sql = str_replace('@spid', $spid, $sql);
+ $sql = str_replace('@of_id', $of_id, $sql);
+ $sql = str_replace('@of2_id', $of2_id, $sql);
+ $sql = str_replace('@s_date', $s_date, $sql);
+ $res_log = $this->statdatalog->db->query($sql);
+
+ if ($res && $res_log){
$this->statplan->update(array('last_date'=>$stat_date), array('id'=>$spid));
- echo "spid {$spid} success: {$res}";
+ echo "spid {$spid} success: {$res},{$res_log}";
}
else{
- echo "spid {$spid} failure";
+ echo "spid {$spid} failure:{$res},{$res_log}";
}
}
}
diff --git a/common/models/receiver/Receiver_customer_stat_data_log_model.php b/common/models/receiver/Receiver_customer_stat_data_log_model.php
new file mode 100644
index 00000000..832581be
--- /dev/null
+++ b/common/models/receiver/Receiver_customer_stat_data_log_model.php
@@ -0,0 +1,14 @@
+table_name, 'default');
+ }
+
+}