| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- namespace backend\modules\mall\controllers;
- use backend\models\AdminRole;
- use backend\controllers\MallController;
- use common\enums\AppEnum;
- use common\enums\StatusEnum;
- use common\models\rbac\AuthItem;
- use common\models\rbac\AuthRole;
- use Yii;
- class RoleController extends MallController
- {
- public $appId = AppEnum::BACKEND;
- /**
- *
- * @return mixed|string|void
- */
- public function actionIndex()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- $cond = [
- ['mall_id' => $this->mall_id],
- ['app_id' => AppEnum::BACKEND],
- ['status' => [StatusEnum::ENABLED,StatusEnum::DISABLED]]
- ];
- $list = AuthRole::getRole($cond, [], true);
- return $this->success('操作成功', compact('list'));
- }
- return $this->render($this->action->id);
- }
- /**
- * 编辑
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionEdit()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- try {
- if ($request->isGet) {
- $params = $request->get();
- $params['app_id'] = $this->appId;
- $params['id'] = empty($params['id']) ? '' : $params['id'];
- $params['route'] = empty($params['route']) ? '' : $params['route'];
- $params['mall_id'] = $this->mall_id;
- $params['cate_id'] = [AppEnum::MALL, AppEnum::ADDON];
- $data = AuthRole::getEditData($params);
- $where = [['app_id'=>$params['app_id']],['cate_id'=>AppEnum::MALL], ['is_addon'=>0],['status' => [StatusEnum::ENABLED]]];
- $data['item_list2'] = AuthItem::getItemListTree($where,$params['route']);
- $where = [['app_id'=>$params['app_id']], ['is_addon'=>1],['status' => [StatusEnum::ENABLED]]];
- $data['item_list3'] = AuthItem::getItemListTree($where,$params['route']);
- return $this->success('操作成功', $data);
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- try {
- if ($request->isPost) {
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params, [
- [['title'], 'trim'],
- [['title'], 'required'],
- [['id', 'item_ids', 'merchant_id', 'pid', 'sort', 'status', 'app_id', 'created_at', 'updated_at'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['app_id'] = $this->appId;
- $params['mall_id'] = $this->mall_id;
- $params['merchant_id'] = 0;
- $res = AuthRole::setData($params);
- if ($res === false) return $this->error(AuthItem::getStaticError());
- return $this->success('操作成功');
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- }
- }
- /**
- * 删除
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionDel()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- if(AdminRole::findOne(['role_id'=>$id])) return $this->error('关联了账号不允许删除');
- $res = AuthRole::updateRole(['id' => $id, 'mall_id' => $this->mall_id, 'status' => StatusEnum::DELETE]);
- if ($res === false) return $this->error(AuthItem::getStaticError());
- return $this->success('操作成功');
- }
- }
- }
- }
|