NoticeLog.php 1.5 KB
<?php
namespace App\Models\Com;

use App\Helper\Arr;
use App\Models\Base;
use Illuminate\Database\Eloquent\Model;

class NoticeLog extends Base
{
    //设置关联表名
    protected $table = 'gl_notice_log';

    const TYPE_PROJECT = 'project';
    const TYPE_RANK_DATA = 'rank_data';
    const TYPE_INIT_PROJECT = 'init_project';
    const TYPE_INIT_KEYWORD_COMMON = 'init_keyword_common';//聚合页关键词评论
    const TYPE_COPY_PROJECT = 'copy_project';
    const TYPE_INIT_KEYWORD = 'init_keyword';
    const DELETE_PRODUCT_CATEGORY = 'delete_product_category';
    const DELETE_BLOG_CATEGORY = 'delete_blog_category';
    const DELETE_NEWS_CATEGORY = 'delete_news_category';
    const DELETE_CUSTOM_CATEGORY = 'delete_custom_category';
    const GENERATE_PAGE = 'generate_page';//生成页面单独改为守护进程
    const GOOGLE_SEARCH = 'google_search';//google搜索任务date
    const STATUS_PENDING = 0;
    const STATUS_SUCCESS = 1;
    const STATUS_FAIL = 2;

    /**
     * 创建日志
     * @param $type
     * @param $data
     * @param $start_at
     * @return mixed
     */
    public static function createLog($type, $data,$start_at=0)
    {
        $log = new self();
        $log->type = $type;
        $log->data = $data;
        $log->start_at = $start_at ?: date('Y-m-d H:i:s');
        return $log->save();
    }

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

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