From 97653c95cf9ef5b8dbe2fc8d5e8864f28a4f457c Mon Sep 17 00:00:00 2001 From: lcc <1127794702@qq.com> Date: Fri, 25 Oct 2024 17:25:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=84=E5=88=86=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controllers/wxapp/licheb/Customers.php | 6 +-- common/libraries/receiver/Score_entity.php | 41 ++++++++++++++++--- .../receiver/Receiver_score_config_model.php | 12 +++--- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/api/controllers/wxapp/licheb/Customers.php b/api/controllers/wxapp/licheb/Customers.php index bc31f52d..9909cd1f 100644 --- a/api/controllers/wxapp/licheb/Customers.php +++ b/api/controllers/wxapp/licheb/Customers.php @@ -337,7 +337,7 @@ class Customers extends Wxapp } return ['code' => API_CODE_FAIL, 'msg' => $msg, 'data' => ['id' => $is_exit['id'], 'owner' => $owner]]; } - if($cf_row['id']==10){ //自然到店直接改成到店客户 + if ($cf_row['id'] == 10) { //自然到店直接改成到店客户 $status = 1; } $this->load->helper("order"); @@ -364,7 +364,7 @@ class Customers extends Wxapp 'wxgrimg' => $wxgrimg ? $wxgrimg : '', 'c_time' => time() ]; - if($wxgr){ + if ($wxgr) { $add_data['add_wx_time'] = date('Y-m-d H:i:s'); } if (!$add_data['city_id'] && $biz_row['city_id']) { @@ -1065,7 +1065,7 @@ class Customers extends Wxapp if ($re['admin_id'] == $admin_id) {//同个销售跳出循环 continue; } - $upDate = ['admin_id' => $admin_id, 'visit_time' => $visit_time]; + $upDate = ['admin_id' => $admin_id, 'visit_time' => $visit_time, 'sales_p_time' => date('Y-m-d H:i:s')]; !$re['sales_id'] && $upDate['sales_id'] = $admin_id;//初始销售id $ret = $this->customers_model->update($upDate, ["id" => $id]); if ($ret) { diff --git a/common/libraries/receiver/Score_entity.php b/common/libraries/receiver/Score_entity.php index e867f48e..199b4fa3 100644 --- a/common/libraries/receiver/Score_entity.php +++ b/common/libraries/receiver/Score_entity.php @@ -147,13 +147,29 @@ class Score_entity break; case Receiver_score_config_model::TYPE_DEDUCT: if ($sub_type == Receiver_score_config_model::TYPE_DEDUCT_CLUE_TIMEOUT) { - + $receiverCustomersModel = new Receiver_customers_model(); + $sTime = strtotime($day . ' 00:00:00'); + $eTime = strtotime($day . ' 23:59:59'); + $where = [ + 'status>=' => 0, 'rid>' => 0, 'sales_id' => $uid, 'biz_id' => $biz_id, + 'sales_p_time>=' => $day . ' 00:00:00', 'sales_p_time<=' => $day . ' 23:59:59', + "id not in (select customer_id from lc_receiver_customer_oplogs where c_time>={$sTime} and c_time<={$eTime})" => null + ]; + $rows = $receiverCustomersModel->select($where, '', 1, 1000, 'id'); + $desc = '线索跟进时间超过10分钟'; + if ($rows) { + foreach ($rows as $val) { + Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}:" . $val['id'], 2, $val['id']); + } + } else { + Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}默认值", 1, 0, 0); + } } elseif ($sub_type == Receiver_score_config_model::TYPE_DEDUCT_BILL_TIMEOUT) { $receiverOrdersModel = new Receiver_orders_model(); $where = [ 'status>=' => 0, 'sale_id' => $uid, 'biz_id' => $biz_id, 'bill_time!=' => '0000-00-00 00:00:00', 'UNIX_TIMESTAMP( bill_time ) > c_time' => null, - 'u_time>=' => strtotime($day . ' 00:00:00'), 'u_time<=' => strtotime($day . ' 23:59:59') + 'u_time>=' => $day . ' 00:00:00', 'u_time<=' => $day . ' 23:59:59' ]; $rows = $receiverOrdersModel->select($where, '', 1, 1000, 'id'); $desc = '开票时间早于订单录入时间'; @@ -165,7 +181,8 @@ class Score_entity Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}默认值", 1, 0, 0); } } elseif ($sub_type == Receiver_score_config_model::TYPE_DEDUCT_ORDER_CTIME) { - + $desc = '线索录入与下单时间间隔少于10分钟'; + Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}默认值", 1, 0, 0); } elseif ($sub_type == Receiver_score_config_model::TYPE_DEDUCT_VISIT_TIMEOUT) { $mdCustomerVisitData = new receiver_customers_visit_data_model(); $where = [ @@ -183,12 +200,26 @@ class Score_entity Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}默认值", 1, 0, 0); } } elseif ($sub_type == Receiver_score_config_model::TYPE_DEDUCT_P_TIME_TIMEOUT && $group_id == App_licheb_users_model::GROUP_BIZ) { - + $receiverCustomersModel = new Receiver_customers_model(); + $where = [ + 'status>=' => 0, 'rid>' => 0, 'biz_id' => $biz_id, + 'p_time>=' => $day . ' 00:00:00', 'p_time<=' => $day . ' 23:59:59', + 'UNIX_TIMESTAMP(p_time)-UNIX_TIMESTAMP(sales_p_time) ' > 600 + ]; + $rows = $receiverCustomersModel->select($where, '', 1, 1000, 'id'); + $desc = '分配时间超过10分钟'; + if ($rows) { + foreach ($rows as $val) { + Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}:" . $val['id'], 2, $val['id']); + } + } else { + Receiver_score_log_model::add_score($uid, $biz_id, $day, $type, $sub_type, "{$desc}默认值", 1, 0, 0); + } } elseif ($sub_type == Receiver_score_config_model::TYPE_DEDUCT__TIMEOUT && $group_id == App_licheb_users_model::GROUP_BIZ) { $receiverOrdersModel = new Receiver_orders_model(); $where = [ 'status>=' => 0, 'biz_id' => $biz_id, 'apply_def_time!=' => '0000-00-00 00:00:00', 'if_defeat' => 1, - 'apply_def_time>=' => strtotime($day . ' 00:00:00'), 'apply_def_time<=' => strtotime($day . ' 23:59:59') + 'apply_def_time>=' => $day . ' 00:00:00', 'apply_def_time<=' => $day . ' 23:59:59' ]; $rows = $receiverOrdersModel->select($where, '', 1, 1000, 'id'); $desc = '战败申请当日未处理'; diff --git a/common/models/receiver/Receiver_score_config_model.php b/common/models/receiver/Receiver_score_config_model.php index d1dcc923..43ca1ced 100644 --- a/common/models/receiver/Receiver_score_config_model.php +++ b/common/models/receiver/Receiver_score_config_model.php @@ -52,13 +52,13 @@ class Receiver_score_config_model extends HD_Model ]; const TYPE_DEDUCT_LIST = [ //车管家 - self::TYPE_DEDUCT_CLUE_TIMEOUT => '线索跟进时间大于10分钟', - self::TYPE_DEDUCT_BILL_TIMEOUT => '开票时间大于订单录入时间', - self::TYPE_DEDUCT_ORDER_CTIME => '线索创建时间和下单创建时间小于10分钟', - self::TYPE_DEDUCT_VISIT_TIMEOUT => '线索回访时间逾期未跟进', + self::TYPE_DEDUCT_CLUE_TIMEOUT => '线索跟进时间超过10分钟', + self::TYPE_DEDUCT_BILL_TIMEOUT => '开票时间早于订单录入时间', + self::TYPE_DEDUCT_ORDER_CTIME => '线索录入与下单时间间隔少于10分钟', + self::TYPE_DEDUCT_VISIT_TIMEOUT => '线索逾期未跟进', //店长 - self::TYPE_DEDUCT_P_TIME_TIMEOUT => '分配派单时间大于10分钟', - self::TYPE_DEDUCT__TIMEOUT => '战败未处理当日扣分' + self::TYPE_DEDUCT_P_TIME_TIMEOUT => '分配时间超过10分钟', + self::TYPE_DEDUCT__TIMEOUT => '战败申请当日未处理' ]; const STATUS_NORMAL = 1; //正常状态