/** * 组管理(编辑组权限) */ public function actionSaveprivilege() { $request = \Yii::$app->request; $identity = Identity::checkIdentity('saveprivilege', '/app-backend/backend/adminmanage/saveprivilege'); if (is_array($identity)) { return $identity; } $groupId = $request->_get('groupId', 0); $moduleId = $request->_get('moduleId', 0); $module = $request->_get('module', 0); $controller = $request->_get('controller', 0); $method = $request->_get('method', 0); $app = $request->_get('app', 'app-backend'); if (!$groupId || !$moduleId || !$app) { return ['code' => 1, 'msg' => '数据非法', 'data' => []]; } $check = GroupPrivilegeAdmin::find()->where('groupId=' . $groupId . ' And moduleId=' . $moduleId)->one(); if ($check) { $res = GroupPrivilegeAdmin::deleteAll('groupId=' . $groupId . ' And moduleId=' . $moduleId); } else { $privilege = new GroupPrivilegeAdmin(); $privilege->moduleId = $moduleId; $privilege->groupId = $groupId; $privilege->module = $module; $privilege->controller = $controller; $privilege->method = $method; $privilege->app = $app; $res = $privilege->save(); } if ($res !== false) { return ['code' => 0, 'msg' => '操作成功', 'data' => []]; } else { return ['code' => 2, 'msg' => '操作失败,请重试', 'data' => []]; } }
/** * 组权限分配 */ public function actionPrivilege() { $view = \Yii::$app->view->params['moduleName'] = '管理员分组'; $search = \Yii::$app->request->_get('search', ''); $where = 1; if ($search) { $where .= ' AND moduleName LIKE \'%' . $search . '%\''; } $module = ModuleAdmin::find()->where($where); $groupId = \Yii::$app->request->_get('groupId', ''); $pageSize = \Yii::$app->params['pageSize']; $total = $module->count(); $pagination = new Pagination(['defaultPageSize' => $pageSize, 'totalCount' => $total]); $data = $module->asArray()->offset($pagination->offset)->limit($pagination->limit)->orderBy('convert(nav_bar using gbk) ASC,createTime DESC')->all(); $privilegedata = GroupPrivilegeAdmin::find()->where('groupId=' . $groupId)->asArray()->All(); foreach ($data as &$modules) { foreach ($privilegedata as $privilege) { if ($modules['moduleId'] == $privilege['moduleId']) { $modules['isAble'] = 1; } } } $data = EasyHelpers::kGroup($data, 'nav_bar'); $token = Token::getToken(); $userId = \Yii::$app->user->id; $saveprivilegeIdentity = EasyHelpers::dataEncrypt('saveprivilege,' . $userId); return $this->render('privilege', ['data' => $data, 'groupId' => $groupId, 'search' => $search, 'token' => $token, 'pagination' => $pagination, 'saveprivilegeIdentity' => $saveprivilegeIdentity]); }