管理端回收站

This commit is contained in:
2025-08-21 17:25:37 +08:00
parent f7349db2c4
commit 61bf0fadf3
3 changed files with 47 additions and 13 deletions
+33 -10
View File
@@ -4,6 +4,7 @@ namespace app\crmAdmin\controller;
use app\common\model\Corp;
use app\crm\model\Customer;
use app\crm\utils\Util;
use app\crmAdmin\service\CustomerService;
use support\Request;
@@ -148,19 +149,18 @@ class CustomerController extends BaseController
}
$customer_id = explode(',', $param['customer_id']);
$customer = Customer::whereIn('id',$customer_id)->withTrashed()->first();
if(empty($customer)){
$query = Customer::whereIn('id',$customer_id)->withTrashed();
if(!$query->exists()){
return $this->error( trans('fail'));
}
if($param['scene'] == 'list'){ //管理端客户列表移除
$customer->status = 4;
}else{ //公海软删除
$customer->status = 3;
$scene = $param['scene'] ?? '';
if ($scene === 'list') { //管理端客户列表移除
$res = $query->update(['status' => 4, 'deleted_at' => time()]);
} elseif ($scene === 'force') { //强删除
$res = $query->forceDelete();
} else { //公海软删除
$res = $query->update(['status' => 3, 'deleted_at' => time()]);
}
$res = $customer->save();
$customer->delete();
return $this->success($res);
} catch (\Throwable $th) {
@@ -168,6 +168,29 @@ class CustomerController extends BaseController
}
}
/**
* 客户恢复
* @param Request $request
* @return \support\Response
*/
public function restore(Request $request)
{
$id = $request->input('id', '');
if (Util::isEmpty($id)) {
return $this->error(trans('id_empty'));
}
$id = explode(',', $id);
$query = Customer::whereIn('id', $id);
//$res = $query->restore();
$res = $query->update(['status' => 1, 'user_id' => 0]);
if($res){
return $this->success($res, trans('success'));
}else{
return $this->error(trans('fail'));
}
}
/**
* 客户详情
* @param Request $request
+13 -3
View File
@@ -51,12 +51,14 @@ class CustomerService
$follow_last = $params['follow_last'] ?? '';
$tagId = $params['tag_id'] ?? [];
$user_id = $params['user_id'] ?? '';
$seas = $params['seas'] ?? '';
$seas = $params['seas'] ?? ''; //recyclea:管理端回收站,audit:待审核列表,seas:公海
$scene = $params['scene'] ?? '';
$where = [];
if ($scene == 'audit') {
$where[] = ['status', '=', 2];
} elseif ($scene == 'recyclea') {
$where[] = ['status', '>', 2];
} else {
$where[] = ['status', '=', 1];
}
@@ -121,8 +123,8 @@ class CustomerService
if ($recycle == 'recycle' || $scene == 'recycle' || $scene == 'audit') {
$query->onlyTrashed();
}
if ($seas == 'seas' || $scene == 'seas') {
$query->withTrashed();
if ($seas == 'seas' || $scene == 'recyclea') {
$query = $query->withTrashed();
}
if (!$export) {
@@ -153,6 +155,14 @@ class CustomerService
}
$item['audit'] = $audit;
}
if ($scene == 'recyclea' && $item['status'] == 3) { //回收站删除来源
$item['del_source'] = '公海';
}elseif ($scene == 'recyclea' && $item['status'] == 4) {
$item['del_source'] = '管理端';
}elseif ($scene == 'recyclea' && $item['status'] == 5) {
$source = (!empty($item['user_id'])) ? (':' . User::where('id',$item['user_id'])->value('name')) : '';
$item['del_source'] = '业务员' . $source;
}
}
}
unset($item);
+1
View File
@@ -157,6 +157,7 @@ Route::group('/admin', function () {
Route::any('/transfer', [app\crmAdmin\controller\CustomerController::class, 'transfer']);
Route::any('/detail', [app\crmAdmin\controller\CustomerController::class, 'detail']);
Route::any('/delete', [app\crmAdmin\controller\CustomerController::class, 'delete']);
Route::any('/restore', [app\crmAdmin\controller\CustomerController::class, 'restore']); //恢复客户
Route::any('/cede', [app\crm\controller\CustomerController::class, 'cede']);
Route::any('/follow', [app\crmAdmin\controller\CustomerController::class, 'follow']);
Route::any('/allocation', [app\crmAdmin\controller\CustomerController::class, 'allocation']);