customer_415

This commit is contained in:
dengbw
2022-04-15 14:57:32 +08:00
parent f55ed17711
commit 3bae7fc767
7 changed files with 138 additions and 17 deletions
+110
View File
@@ -18,6 +18,116 @@ class Licheb extends HD_Controller
$this->load->model('receiver/receiver_customers_visit_model', 'mdCustomersVisit');
}
/**
* Notes:顾问_日志
* Created on: 2021/10/19 17:15
* Created by: dengbw
* https://liche-api-dev.xiaoyu.com/plan/licheb/users_log?sd=1
* https://api.liche.cn/plan/licheb/users_log
*/
public function users_log()
{
$params = $this->input->get();
$time = strtotime("-1 day");//昨天此时的时间戳
$hour = date('H.i');
if (($hour > 00.00 && $hour < 03.00) || $params['sd']) {
if ($params['sd']) {
echo "开始执行库顾问日志[{$hour}]";
}
} else {
echo '[00.00-03.00]执行顾问日志[' . $hour . ']';
return;
}
$this->load->model('app/licheb/app_licheb_users_model', 'mdUsers');
$this->load->model('app/licheb/app_licheb_users_log_model', 'mdUsersLog');
$size = 2;//每次最多处理多少条
$rds = intval($this->input->get('rds'));
$redis = &load_cache('redis');
$redisKey = 'app_licheb_users_log_id';
$log_date = date('Y-m-d', $time);
$re_v = $this->mdUsersLog->get(array('log_date' => $log_date));//查找当天是否有数据
if (!$re_v || $rds) {
$redis->delete($redisKey);
}
$id = $redis->get($redisKey);
$id = 19;
!$id && $id = 0;
$log = [];
$where = ['id >' => $id, 'group_id < 4' => null, 'status' => 1];
$res = $this->mdUsers->select($where, 'id asc', 1, $size, 'id,biz_id');
if (!$res) {
echo '执行到当前顾问id' . $id . '暂无数据';
return;
}
$this->load->model('receiver/receiver_customer_oplogs_model', 'mdCustomerOpLogs');
$this->load->model('receiver/order/receiver_orders_v2_model', 'mdOrdersV2');
$this->load->model("biz/biz_model", 'mdBiz');
$offlineSources = $this->mdCustomers->offlineSources();
$addDate = [];
$str_biz_ids = implode(',', array_unique(array_column($res, 'biz_id')));
$map_biz = $this->mdBiz->map('id', 'city_id', ["id in({$str_biz_ids})" => null]);
foreach ($res as $key => $value) {
$sale_id = $value['id'];
$biz_id = intval($value['biz_id']);
$re_log = $this->mdUsersLog->get(['log_date' => $log_date, 'sale_id' => $sale_id]);
if (!$re_log) {//判断当天是否已加入
$s_time = strtotime($log_date . ' 00:00:00');
$e_time = strtotime($log_date . ' 23:59:59');
$city_id = intval($map_biz[$value['biz_id']]);
$a_num = $this->mdCustomerOpLogs->count(['type' => 4, 'c_time>=' => $s_time, 'c_time<=' => $e_time,
"customer_id in(select id from lc_receiver_customers where admin_id={$sale_id} and biz_id={$biz_id})" => null]
);
$follows = $this->mdCustomerOpLogs->count(['type<>' => 3, 'c_time>=' => $s_time, 'c_time<=' => $e_time,
"customer_id in(select id from lc_receiver_customers where admin_id={$sale_id} and biz_id={$biz_id})" => null], 'distinct(customer_id)'
);
$orders = $this->mdOrdersV2->count(['order_time<>' => '0000-00-00 00:00:00', 'status>=' => 0,
'c_time>=' => $s_time, 'c_time<=' => $e_time]
);
$bills = $this->mdOrdersV2->count(['bill_time<>' => '0000-00-00 00:00:00', 'status>=' => 0,
'c_time>=' => $s_time, 'c_time<=' => $e_time]
);
$add_item = ['sale_id' => $sale_id, 'biz_id' => $value['biz_id'], 'city_id' => $city_id, 'a_num' => $a_num
, 'orders' => $orders, 'bills' => $bills, 'follows' => $follows, 'log_date' => $log_date, 'c_time' => time()];
$customer_json = '';
foreach ($offlineSources as $key1 => $value1) {
$customer_num1 = $this->mdCustomers->count(['of_id' => $key1, 'admin_id' => $sale_id
, 'status>=' => 0, 'c_time>=' => $s_time, 'c_time<=' => $e_time]);
if ($customer_num1) {//一级
$add_item["customer_{$key1}"] = $customer_num1;
$list = '';
foreach ($value1['list'] as $key2 => $value2) {
$customer_num2 = $this->mdCustomers->count(['of_id' => $key1, 'of2_id' => $key2, 'admin_id' => $sale_id
, 'status>=' => 0, 'c_time>=' => $s_time, 'c_time<=' => $e_time]);
if ($customer_num2) {//二级
$list[$key2] = ['name' => $value2, 'num' => $customer_num2];
}
}
$customer_json[$key1] = ['name' => $value1['name'], 'num' => $customer_num1, 'list' => $list];
}
}
$customer_json && $add_item['customer_json'] = $customer_json;
//$customer_json && $add_item['customer_json'] = json_encode($customer_json, JSON_UNESCAPED_UNICODE);
$addDate[] = $add_item;
$log[] = array('id' => $sale_id, 'addDate' => $add_item);
}
}
if ($addDate && count($addDate)) {
//$this->mdUsersLog->add_batch($addDate);
}
$redis->save($redisKey, $id, 24 * 3600);//保存最后id
if ($params['sd']) {
echo '<br>执行到当前顾问id' . $redis->get($redisKey);
echo '日期:' . json_encode(array('log_date' => $log_date), JSON_UNESCAPED_UNICODE);
echo '<br>成功新增:<br>';
if ($log) {
echo json_encode($log, JSON_UNESCAPED_UNICODE);
echo '<br>';
}
echo '数据库获取:<br>';
echo json_encode($res, JSON_UNESCAPED_UNICODE);
}
}
/**
* Notes:给销售发送待回访短信
* Created on: 2021/10/19 17:15
+1 -1
View File
@@ -225,7 +225,7 @@ class Cusorder extends Wxapp{
//更新客户下单时间
$this->customers_model->update(array('order_time' => date('Y-m-d H:i:s')),['id'=>$cus_id]);
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], "新增订单");
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], '生成订单', 6);
return ['id'=>$o_id,'admin_img' => $orders_entity::API_ADMIN_IMG,'pay_img'=>$orders_entity::API_CREATE_PAY_IMG];
}else{
+1 -1
View File
@@ -108,7 +108,7 @@ class Cusorder2 extends Wxapp{
//更新客户下单时间
$this->customers_model->update(array('order_time' => date('Y-m-d H:i:s')),['id'=>$cus_id]);
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], "新增订单");
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], '生成订单', 6);
//意向金订单
$orders_entity = new Orders_entity();
+2 -2
View File
@@ -221,7 +221,7 @@ class CusorderV2 extends Wxapp{
}
//更新客户下单时间
$this->customers_model->update(array('order_time' => date('Y-m-d H:i:s')),['id'=>$cus_id]);
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], "新增订单");
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], '生成订单', 6);
return ['id'=>$o_id,'pay_img'=>$orders_entity->pay_img($o_id)];
}else{
@@ -289,7 +289,7 @@ class CusorderV2 extends Wxapp{
//更新客户下单时间
$this->customers_model->update(array('order_time' => date('Y-m-d H:i:s')),['id'=>$cus_id]);
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], "新增订单");
$this->customers_entity->add_log($cus_id, $this->session['uid'], $this->session['uname'], '生成订单', 6);
//意向金订单
$orders_entity = new orders_v2_entity();
+7 -11
View File
@@ -353,7 +353,7 @@ class Customers extends Wxapp
if ($row['admin_id'] != $uid) {
throw new Exception('无法操作该客户', ERR_PARAMS_ERROR);
}
$d_log = $a_log = '';
$log = $a_log = '';
if ($status == 3) {
if (!$defeat_reason) {
throw new Exception('请输入战败理由', ERR_PARAMS_ERROR);
@@ -363,12 +363,12 @@ class Customers extends Wxapp
$jsondata['defeat']['reason'] = $defeat_reason;
$up_data['if_defeat'] = 1;
$up_data['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE);
$d_log = '申请战败:' . $defeat_reason;
$log = '申请战败:' . $defeat_reason;
} else {
if (strlen($status)) { //变更状态
$up_data['status'] = $status;
//$status_name = $this->customers_model->get_status();
//$log = '状态变更为' . $status_name[$status];
$status_name = $this->customers_model->get_status();
$log = '状态变更为' . $status_name[$status];
}
}
strlen($is_top) && $up_data['is_top'] = $is_top;
@@ -380,10 +380,8 @@ class Customers extends Wxapp
if ($status == 1 || $a_num) {
$a_log = '客户到店';
$up_data['cont_time'] = date('Y-m-d H:i:s'); //修改到店状态修改最后联系时间
$status != $row['status'] && $a_log .= ',更改状态';
if ($row['dt_time'] == '0000-00-00 00:00:00') {//首次到店时间
$up_data['dt_time'] = date('Y-m-d H:i:s');
$a_log .= ',更新首次到店时间';
}
}
$result = $this->customers_model->update($up_data, ['id' => $id]);
@@ -395,12 +393,10 @@ class Customers extends Wxapp
if ($t_num) {//试驾
$this->customers_entity->add_log($id, $uid, $uname, '客户试驾', 5);
}
if ($d_log) {//战败申请类型小记
$this->customers_entity->add_log($id, $uid, $uname, $d_log, 0);
if ($log) {//小记
$this->customers_entity->add_log($id, $uid, $uname, $log, 0);
}
if ($status == 2) {//变成订单客户
$this->customers_entity->add_log($id, $uid, $uname, '生成订单', 6);
//更新客户已回访
if ($status == 2) {//变成订单客户 更新客户已回访
$this->customers_entity->add_log_visit($id, $uid, $uname, '', 0, 1);
}
}
@@ -0,0 +1,17 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Notes:狸车宝顾问_日志
* Created on: 2022/4/14 12:45
* Created by: dengbw
*/
class App_licheb_users_log_model extends HD_Model
{
private $table_name = 'lc_app_licheb_users_log';
public function __construct()
{
parent::__construct($this->table_name, 'default');
}
}
-2
View File
@@ -259,11 +259,9 @@ class Persona extends CI_Controller
$log = '客户到店';
if ($re_cus['status'] == 0) {//改为到店
$up_data['status'] = 1;
$log .= ',更改状态';
}
if ($re_cus['dt_time'] == '0000-00-00 00:00:00') {//首次到店时间
$up_data['dt_time'] = $date;
$log .= ',更新首次到店时间';
}
$up_data['a_num = a_num+1'] = null;//加到店次数
$up_data['cont_time'] = $date;