ChatRecordItemJob.php 1.6 KB
<?php
/**
 * +--------------------------------------------------------------------------------------------------------------------
 * 观察者层:同步用户次数日志 处理业务逻辑
 * +--------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Jobs
 * @package   App\Jobs
 * @author    Richer <yangzi1028@163.com>
 * @date      2023年4月26日16:37:35
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Jobs;

use App\Models\Traits\ChatTrait;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

/**
 * Class ChatRecordItemJob
 * @package App\Jobs
 */
class ChatRecordItemJob extends BaseJob
{
    use ChatTrait;

    /**
     * Create a new job instance.
     *
     * @param $model
     */
    public function __construct($model)
    {
        $this->desc  = '同步用户聊天明细记录';
        $this->channel =  'sync';
        // 执行
        parent::__construct($model);
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        record_log($this->channel, $this->desc, 'begin');

        if ($this->attempts() > 3) {
            record_log($this->channel, '尝试次数过多');
        } else {
            // 同步增加记录
            $this->syncRecordItem($this->model);
        }
        record_log($this->channel, $this->desc, 'end');
    }
}