RankDataLog.php 1.3 KB
<?php

namespace App\Models\RankData;


use App\Helper\Arr;
use App\Models\Base;
use Illuminate\Support\Facades\Redis;

/**
 * Class GoogleRank
 * @package App\Models
 * @author zbj
 * @date 2023/5/6
 */
class RankDataLog extends Base
{
    //设置关联表名
    protected $table = 'gl_rank_data_log';

    public function setDataAttribute($value)
    {
        $this->attributes['data'] = Arr::a2s($value);
    }

    public function getDataAttribute($value)
    {
        return Arr::s2a($value);
    }

    public static function addTask($project_id, $api_no, $lang =''){
        $date = date('Y-m-d');
        $model = self::where('project_id', $project_id)->where('api_no', $api_no)->where('date', $date)->where('lang', $lang)->first();
        if($model){
            //已达标的
            if($model->is_compliance){
                return true;
            }
            //有未执行的
            if(!$model->status){
                return true;
            }
        }else{
            $model = new self();
            $model->project_id = $project_id;
            $model->api_no = $api_no;
            $model->lang = $lang;
            $model->date = $date;
        }
        $model->status = 0;
        $model->save();

        Redis::lpush('rank_data_task', $model->id);
        return true;
    }

}