love_php/app/Jobs/AddCrmRoleComment.php
2026-04-02 09:20:51 +08:00

86 lines
3.0 KiB
PHP

<?php
namespace App\Jobs;
use App\Http\Response\ResponseJson;
use App\Models\ClientComment;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
class AddCrmRoleComment implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
use ResponseJson;
protected $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
try {
$data = $this->data;
if(!array_key_exists('action', $data)) throw new \Exception("缺少参数信息.action");
switch ($data['action']) {
case 'c_comment':
$nickname = User::where('id', $data['user_id'])->value('nickname');
$msg = "客服跟进了用户【".$nickname.'--'.$data['user_id'].'】';
$user_id = $data['maker_user_id'];
break;
case 't_comment':
$nickname = User::where('id', $data['user_id'])->value('nickname');
$msg = "情感老师跟进了用户【".$nickname.'--'.$data['user_id'].'】';
$user_id = $data['maker_user_id'];
break;
case 'assign':
$nickname = User::where('id', $data['user_id'])->value('nickname');
$msg = '客服指派用户【'.$nickname.'--'.$data['user_id'].'】到情感老师';
$user_id = $data['maker_user_id'];
break;
case 'gain':
$role_name = ($data['role_type'] == "c_service")?"客服":"老师";
$msg = $role_name."开始跟进用户(领取用户)";
$user_id = $data['maker_user_id'];
break;
case 'c_tag':
$nickname = User::where('id', $data['user_id'])->value('nickname');
$msg = '客服标记了用户【'.$nickname.'--'.$data['user_id'].'】';
$user_id = $data['maker_user_id'];
break;
case 't_tag':
$nickname = User::where('id', $data['user_id'])->value('nickname');
$msg = '老师标记了用户【'.$nickname.'--'.$data['user_id'].'】';
$user_id = $data['maker_user_id'];
break;
default:
throw new \Exception("缺少参数.action");
}
ClientComment::create([
'user_id'=>$user_id,
'maker_user_id'=>0,
'type'=>'crm_role',
'comment'=>$msg,
]);
} catch (\Exception $e) {
$this->getError($e);
}
}
}