90 lines
2.6 KiB
PHP
90 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace admin\controllers\system;
|
|
|
|
use admin\models\Admin;
|
|
use common\core\BaseAdminController;
|
|
use common\enums\UserRoleEnum;
|
|
use common\models\oldDb\Store;
|
|
use yii\base\DynamicModel;
|
|
use yii\base\Exception;
|
|
use yii\data\ActiveDataProvider;
|
|
|
|
class AdminController extends BaseAdminController
|
|
{
|
|
/**
|
|
* 管理员列表
|
|
*/
|
|
public function actionList()
|
|
{
|
|
$m = new DynamicModel(['page','pageSize']);
|
|
//$m->addRule('aa',DateRangeValidator::class);
|
|
//$m->addRule('xx','string');
|
|
$m->addRule('page','default',['value'=>1]);
|
|
$m->addRule('pageSize','default',['value'=>10]);
|
|
$m->addRule('page','integer',['max'=>1000]);
|
|
$m->addRule('pageSize','integer',['min'=>1,'max'=>50]);
|
|
$m->load($this->post());
|
|
if(!$m->validate()){
|
|
throw new Exception(json_encode($m->getFirstErrors()));
|
|
}
|
|
$query = Admin::find();
|
|
|
|
$dataProvider = new ActiveDataProvider([
|
|
'query' => $query,
|
|
'sort'=>[
|
|
'defaultOrder'=>['uid'=>SORT_DESC]
|
|
],
|
|
'pagination'=>[
|
|
'defaultPageSize'=>$m->pageSize,
|
|
'params'=>['page'=>$m->page]
|
|
]
|
|
]);
|
|
// add conditions that should always apply here
|
|
|
|
return $dataProvider;
|
|
}
|
|
/**
|
|
* 账号信息
|
|
*/
|
|
public function actionInfo()
|
|
{
|
|
$admin= \Yii::$app->user->identity;
|
|
|
|
if ($admin->role==UserRoleEnum::SUPER_ADMIN){
|
|
$info= Admin::find()->where(['uid'=>$admin->uid,'role'=>UserRoleEnum::SUPER_ADMIN])->one();
|
|
}
|
|
if ($admin->role==UserRoleEnum::STORE_ADMIN){
|
|
$info= Store::find()->where(['id'=>$admin->store_id,'is_delete'=>0])->one();
|
|
}
|
|
|
|
if (!$info) throw new \yii\db\Exception('账号信息不存在');
|
|
return $info;
|
|
}
|
|
|
|
/**
|
|
* @doc-name 账号禁用
|
|
* @doc-param int admin_id 后台用户ID
|
|
*/
|
|
public function actionAccountDisabled()
|
|
{
|
|
$post = \Yii::$app->request->post();
|
|
$this->requestValidate($post, [
|
|
['admin_id', 'required']
|
|
]);
|
|
$role=\Yii::$app->user->identity->role;
|
|
if ($role!=UserRoleEnum::SUPER_ADMIN) throw new \yii\db\Exception('非超级管理员,没有禁用账号的权限');
|
|
$Admin = Admin::find()->where([
|
|
'uid' => $post['admin_id'],
|
|
])->one();
|
|
if (!$Admin) throw new \yii\db\Exception('账号不存在');
|
|
|
|
|
|
$status=$Admin->status==1?0:1;
|
|
$Admin->status=$status;
|
|
$Admin->saveOrFail();
|
|
return ['修改成功'];
|
|
}
|
|
|
|
}
|