公海,转让,名片

This commit is contained in:
2025-03-31 14:25:38 +08:00
parent 8b19071d1c
commit 4cde16f76a
7 changed files with 213 additions and 22 deletions
+101 -4
View File
@@ -4,7 +4,9 @@ namespace app\controller;
use app\model\Channel;
use app\model\Customer;
use app\model\CustomerHis;
use app\model\Follow;
use app\model\User;
use app\service\UserService;
use app\util\Util;
use config\constants\Constants;
@@ -129,6 +131,8 @@ class CustomerController
$follow = $request->input('follow', ''); //跟进状态
$keyword = $request->input('keyword', ''); //follow_last
$follow_last = $request->input('follow_last', ''); //最后跟进:1:当天跟进客户,2:近三天跟进客户,3:近七天跟进客户
$tagId = $request->input('tag_id', ''); //打有某个标签的客户
$seas = $request->input('seas', ''); //公海客户
$where = [];
@@ -136,7 +140,11 @@ class CustomerController
if (Util::isEmpty($userId)) {
return Util::fail(['user_id' => $userId], trans('user_none'));
}
$where[] = ['user_id', $userId];
if($seas == 'seas'){
$where[] = ['user_id', 0];
}else{
$where[] = ['user_id', $userId];
}
//验证权限
// if ($request->user['role'] != 1) {
// $where[] =['user_id',$userId] ;
@@ -160,18 +168,21 @@ class CustomerController
// 执行分页查询 //关联标签tags //关联标签及分组tags.group
$query = Customer::where($where)
$query = Customer::with('tags')->where($where)
->orderBy('id', 'desc');
if(!empty($tagId)){
$query->with(['tags' => function($query) use ($tagId){
$query->where('id', $tagId);
}]);
}
if (!Util::isEmpty($keyword)) {
$query->where(function ($query) use ($keyword) {
$query->where('contacts', 'like', "%{$keyword}%")
->orWhere('phone', 'like', "%{$keyword}%");
});
}
if (!Util::isEmpty($grade)) {
$query->whereIn('grade', $grade);
}
$recycle = Util::getParam($request,'recycle', '');
@@ -301,6 +312,92 @@ class CustomerController
}
}
/**
* 领取公海客户
* @param Request $request
* @return \support\Response
*/
public function claim(Request $request)
{
$customerId = Util::getParam($request, 'customer_id');
$userId = $request->user['id'];
if (Util::isEmpty($customerId)) {
return Util::fail([], trans('customer_id').trans('not_null'));
}
$data = [
'user_id' => $request->user['id']
];
$customer= Customer::find($customerId);
if($customer->user_id != 0){
return Util::fail('', trans('claim_fail'));
}
$customer->restore();
$res = $customer->update($data);
//记录客户关系变化
$his = CustomerHis::create([
'customer_id' => $customerId,
'user_his' => 0,
'user_id' => $userId,
]);
if ($res) {
return Util::success($res, trans('success'));
} else {
return Util::fail($res, trans('fail'));
}
}
/**
* 批量转让
* @param Request $request
* @return \support\Response
*/
public function cede(Request $request)
{
$customerId = Util::getParam($request, 'customer_id');
$user_sn = Util::getParam($request, 'user_sn');
$userId = $request->user['id'];
if (Util::isEmpty($user_sn)) {
return Util::fail([], 'ID'.trans('not_null'));
}
$user = User::where(['sn' => $user_sn])->first();
if (Util::isEmpty($user)) {
return Util::fail(null, trans('user_none'));
}
if(Util::isEmpty($customerId)){
$data = [
'user_id' => $userId
];
$query= Customer::where($data);
}else{
$query= Customer::whereIn('id',explode(',',$customerId));
}
$customer = $query->get();
foreach ($customer as $item) {
//记录客户关系变化
$his = CustomerHis::create([
'customer_id' => $item->id,
'user_his' => $item->user_id,
'user_id' => $user['id'],
]);
}
$res = $query->update(['user_id' => $user->id]);
if ($res) {
return Util::success($res, trans('success'));
} else {
return Util::fail($res, trans('fail'));
}
}
/**
* 跟进状态
* @param Request $request