User.php 1.78 KB
<?php

namespace domain\user\models;

use common\helpers\Utils;
use yii\base\NotSupportedException;
use yii\db\ActiveRecord;
use yii\behaviors\TimestampBehavior;
use yii\web\IdentityInterface;

/**
 * 用户
 * This is the model class for table "{{%gk_user}}".
 */
class User extends ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return '{{%gk_user}}';
    }

    /**
     * @return array
     */
    public function behaviors()
    {
        return [
            'time' => [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'created_at',
                'updatedAtAttribute' => 'updated_at',
            ]
        ];
    }
    /* @inheritdoc */
    public function init()
    {
        parent::init();
        $this->attachEvents();
    }

    /* @inheritdoc */
    public function attachEvents()
    {
        $this->on(static::EVENT_BEFORE_INSERT, [$this, 'onBeforeInsert']);
    }

    /**
     * 记录插入前的回调处理
     */
    public function onBeforeInsert()
    {
        $this->uuid = Utils::genUUID();
    }

    /** @inheritdoc */
    public static function findIdentity($id)
    {
        return static::findOne($id);
    }

    /** @inheritdoc */
    public static function findIdentityByAccessToken($token, $type = null)
    {
        throw new NotSupportedException('"findIdentityByAccessToken" is not implemented.');
    }

    /** @inheritdoc */
    public function getId()
    {
        return $this->getAttribute('id');
    }

    /** @inheritdoc */
    public function getAuthKey()
    {
        return $this->getAttribute('auth_key');
    }

    /** @inheritdoc */
    public function validateAuthKey($authKey)
    {
        return $this->getAttribute('auth_key') == $authKey;
    }
}