客户重复检测
This commit is contained in:
@@ -163,7 +163,7 @@ class CustomerController extends BaseController
|
||||
$perPage = $request->input('size', 10);
|
||||
$where = [
|
||||
['user_id', '=', $userId],
|
||||
// ['corp_abbr', '=', $request->basic_data['corp_abbr']],
|
||||
//['corp_abbr', '=', $request->basic_data['corp_abbr']],
|
||||
['follow_next', '<>', 0],
|
||||
];
|
||||
|
||||
@@ -306,6 +306,7 @@ class CustomerController extends BaseController
|
||||
$contacts = Util::getParam($request, 'contacts');
|
||||
$email = Util::getParam($request, 'email');
|
||||
$phone = Util::getParam($request, 'phone');
|
||||
$whatsApp = Util::getParam($request, 'WhatsApp', '');
|
||||
if (Util::isEmpty($contacts) && Util::isEmpty($email) && Util::isEmpty($phone)) {
|
||||
return $this->error(trans('contacts_not_null'));
|
||||
}
|
||||
@@ -314,7 +315,7 @@ class CustomerController extends BaseController
|
||||
$corpId = $corpInfo->id;
|
||||
$data = [
|
||||
'user_id' => $request->user->uid,
|
||||
'corp_abbr' => $corpId,
|
||||
'corp_id' => $corpId,
|
||||
'grade' => Util::getParam($request, 'grade', 0),
|
||||
'channel_id' => $channel_id,
|
||||
'country_id' => $country_id,
|
||||
@@ -322,7 +323,7 @@ class CustomerController extends BaseController
|
||||
'magnitude' => Util::getParam($request, 'magnitude', 0),
|
||||
'email' => $email,
|
||||
'phone' => $phone,
|
||||
'WhatsApp' => Util::getParam($request, 'WhatsApp', ''),
|
||||
'WhatsApp' => $whatsApp,
|
||||
'contacts' => $contacts,
|
||||
'describe' => Util::getParam($request, 'describe'),
|
||||
'lat' => Util::getParam($request, 'lat', 0),
|
||||
@@ -335,6 +336,15 @@ class CustomerController extends BaseController
|
||||
|
||||
if (Util::isEmpty($id)) {
|
||||
$data['enter_user_id'] = $request->user->uid;
|
||||
$distinct = [
|
||||
'email' => $email,
|
||||
'phone' => $phone,
|
||||
'whatsapp' => $whatsApp,
|
||||
];
|
||||
$dis = (new CustomerService())->distinct($distinct,$corpId);
|
||||
if($dis){
|
||||
return $this->error('客户线索重复,已经有人在跟进');
|
||||
}
|
||||
$res = Customer::create($data);
|
||||
} else {
|
||||
unset($data['grade']);
|
||||
@@ -506,12 +516,14 @@ class CustomerController extends BaseController
|
||||
{
|
||||
$customerId = Util::getParam($request, 'customer_id');
|
||||
$userId = $request->user->uid;
|
||||
$user = User::where(['id' => $userId])->first();
|
||||
if (Util::isEmpty($customerId)) {
|
||||
return $this->error(trans('customer_id').trans('not_null'));
|
||||
}
|
||||
$data = [
|
||||
'user_id' => $request->user->uid,
|
||||
'obtain' => time(),
|
||||
'corp_id' => $user->corp_id,
|
||||
];
|
||||
|
||||
try {
|
||||
@@ -592,6 +604,7 @@ class CustomerController extends BaseController
|
||||
$data = [
|
||||
'user_id' => $user->id,
|
||||
'obtain' => time(),
|
||||
'corp_id' => $user->corp_id,
|
||||
];
|
||||
$res = $query->update($data);
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ class FollowController extends BaseController
|
||||
$corpId = $corpInfo->id;
|
||||
$data = [
|
||||
'user_id' => $request->user->uid,
|
||||
'corp_abbr' => $corpId,
|
||||
'corp_id' => $corpId,
|
||||
'customer_id' => $customer_id,
|
||||
'type' => $type,
|
||||
'picture' => $picture,
|
||||
|
||||
@@ -319,4 +319,36 @@ class CustomerService
|
||||
|
||||
return $customer;
|
||||
}
|
||||
|
||||
public function distinct($params,$corpId){
|
||||
|
||||
$customer = Customer::Orwhere('email', '=', $params['email'])
|
||||
->Orwhere('phone', '=', $params['phone'])
|
||||
->Orwhere('whatsApp', '=', $params['whatsApp'])
|
||||
->first();
|
||||
if (!empty($customer)) {
|
||||
//客户重复,消息通知
|
||||
$user = User::where('id', $customer->user_id)->first();
|
||||
if($corpId != $customer->corp_id){
|
||||
return false;
|
||||
}
|
||||
$contacts = $customer->contacts??$params['phone'];
|
||||
$contacts = $contacts??$params['whatsApp'];
|
||||
$contacts = $contacts??$params['email'];
|
||||
$data = [
|
||||
'sender_id' => 0, //发送人ID 0默认系统
|
||||
'sender_type' => 'system', //发送者类型 user admin system
|
||||
'title' => '客户跟进提醒 - ' . $contacts, //标题
|
||||
'content' => $contacts . '有新的询单,请及时跟进', //内容
|
||||
'scene' => 1, //场景 0系统公共 1系统通知
|
||||
'recipient' => [$customer->user_id], //接收人 空为全部
|
||||
'push_method' => 0 //推送方式0系统推送1手动推送
|
||||
];
|
||||
|
||||
// 异步推送
|
||||
\Webman\RedisQueue\Redis::send('notice', $data);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ class CustomerController extends BaseController
|
||||
try {
|
||||
$param = $request->all();
|
||||
$corp = Corp::where(['abbr' => $request->basic_data['corp_abbr']])->first();
|
||||
$param['corp_abbr'] = $corp->id;
|
||||
$param['corp_id'] = $corp->id;
|
||||
// $param['corp_abbr'] = $request->basic_data['corp_abbr'];
|
||||
$result = (new CustomerService())->list($param);
|
||||
|
||||
@@ -49,7 +49,7 @@ class CustomerController extends BaseController
|
||||
try {
|
||||
$param = $request->all();
|
||||
// $corp = Corp::where(['abbr' => $request->basic_data['corp_abbr']])->first();
|
||||
// $param['corp_abbr'] = $corp->id;
|
||||
// $param['corp_id'] = $corp->id;
|
||||
|
||||
$result = (new CustomerService())->export($param);
|
||||
$excelContent = file_get_contents($result['filepath']);
|
||||
|
||||
@@ -339,6 +339,7 @@ class CustomerService
|
||||
|
||||
$query= Customer::whereIn('id',explode(',',$customerId));
|
||||
$customer = $query->get();
|
||||
$user = User::where(['id' => $userId])->first();
|
||||
|
||||
foreach ($customer as $item) {
|
||||
//记录客户关系变化
|
||||
@@ -357,6 +358,7 @@ class CustomerService
|
||||
}
|
||||
$data = [
|
||||
'user_id' => $userId,
|
||||
'corp_id' => $user->corp_id,
|
||||
'obtain' => time(),
|
||||
];
|
||||
$res = $query->update($data);
|
||||
|
||||
Reference in New Issue
Block a user