Files
xk-api-yii/common/models/oldDb/AdminAccessToken.php

52 lines
1.3 KiB
PHP

<?php
namespace common\models\oldDb;
use common\enums\StatusEnum;
use yii;
use yii\db\ActiveRecord;
/**
* @author chatfeed@gmail.com
*/
class AdminAccessToken extends \common\modelsgii\oldDb\AdminAccessToken
{
public function behaviors()
{
return [
[
'class' => yii\behaviors\TimestampBehavior::class,
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
],
];
}
static public function createToken($uid, $group = "")
{
$adminAccessToken1 = new static();
$olds = $adminAccessToken1::find()->where(['admin_id' => $uid, 'status' => 1])->all();
foreach ($olds as $old) {
$old->status = -1;
$old->updated_at = time();
$old->save();
}
$adminAccessToken = new static();
$adminAccessToken->setAttributes([
'access_token' => Yii::$app->security->generateRandomString(),
'admin_id' => $uid,
'expired_at'=>time()+24*30*3600,
'group' => $group,
'status' => StatusEnum::ACTIVE
]);
if ($adminAccessToken->save()) {
return $adminAccessToken;
}
return false;
}
}