RbacAuthItemController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php
  2. namespace backend\modules\admin\controllers;
  3. use app\models\RbacAuthItem;
  4. use backend\controllers\AdminController;
  5. use backend\models\Admin;
  6. use common\enums\AppEnum;
  7. use common\enums\StatusEnum;
  8. use common\enums\WhetherEnum;
  9. use common\models\rbac\AuthItem;
  10. use Yii;
  11. class RbacAuthItemController extends AdminController
  12. {
  13. public $appId = AppEnum::BACKEND;
  14. /**
  15. * @param null $keyword
  16. * @param int $is_recycle
  17. * @return mixed|string|void
  18. */
  19. public function actionIndex()
  20. {
  21. $request = Yii::$app->request;
  22. if ($request->isAjax) {
  23. $pid = Yii::$app->request->get('pid', 0);
  24. $cate_id = Yii::$app->request->get('cate_id', '1');
  25. $cond = [['pid' => $pid], ['<>', 'status', StatusEnum::DELETE]];
  26. if (in_array($cate_id, [AppEnum::PLATFORM, AppEnum::MALL])) $cond[] = ['is_addon' => WhetherEnum::DISABLED, 'cate_id' => $cate_id];
  27. if (in_array($cate_id, [AppEnum::ADDON])) $cond[] = ['is_addon' => WhetherEnum::ENABLED];
  28. $list = AuthItem::getItems($cond, ['child'], true);
  29. return $this->success('操作成功', compact('list'));
  30. }
  31. return $this->render($this->action->id);
  32. }
  33. /**
  34. * 编辑
  35. * @param null $keyword
  36. * @param int $is_recycle
  37. * @return mixed|void
  38. */
  39. public function actionEdit()
  40. {
  41. try {
  42. $request = Yii::$app->request;
  43. if ($request->isAjax) {
  44. if ($request->isGet) {
  45. $id = Yii::$app->request->get('id', '');
  46. $type = Yii::$app->request->get('type', 'add');
  47. $data = AuthItem::getEditData($id, $type, $this->appId);
  48. return $this->success('操作成功', $data);
  49. }
  50. }
  51. } catch (\Exception $e) {
  52. return $this->error($e->getMessage(), []);
  53. }
  54. try {
  55. $request = Yii::$app->request;
  56. if ($request->isAjax) {
  57. if ($request->isPost) {
  58. /** @var AuthItem $model */
  59. $params = Yii::$app->request->post();
  60. $res = Yii::$app->services->validate->validate($params, [
  61. [['title', 'name'], 'trim'],
  62. [['title', 'name'], 'required'],
  63. [['id', 'pid', 'is_addon', 'cate_id', 'sort', 'status', 'created_at', 'updated_at'], 'safe'],
  64. ]);
  65. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  66. $params['app_id'] = $this->appId;
  67. $params['status'] = 1;
  68. $res = AuthItem::setData($params);
  69. if ($res === false) return $this->error(AuthItem::getStaticError());
  70. return $this->success('操作成功');
  71. }
  72. }
  73. } catch (\Exception $e) {
  74. return $this->error($e->getMessage(), []);
  75. }
  76. }
  77. /**
  78. * 添加
  79. * @param null $keyword
  80. * @param int $is_recycle
  81. * @return mixed|void
  82. */
  83. public function actionAdd()
  84. {
  85. try {
  86. $request = Yii::$app->request;
  87. if ($request->isAjax) {
  88. if ($request->isGet) {
  89. $id = Yii::$app->request->get('id', '');
  90. $type = Yii::$app->request->get('type', 'add');
  91. $data = AuthItem::getEditData($id, $type, $this->appId);
  92. return $this->success('操作成功', $data);
  93. }
  94. }
  95. } catch (\Exception $e) {
  96. return $this->error($e->getMessage(), []);
  97. }
  98. try {
  99. $request = Yii::$app->request;
  100. if ($request->isAjax) {
  101. if ($request->isPost) {
  102. /** @var AuthItem $model */
  103. $params = Yii::$app->request->post();
  104. $res = Yii::$app->services->validate->validate($params, [
  105. [['title', 'name'], 'trim'],
  106. [['title', 'name'], 'required'],
  107. [['id', 'pid', 'cate_id', 'is_addon', 'sort', 'status', 'created_at', 'updated_at'], 'safe'],
  108. ]);
  109. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  110. $params['app_id'] = $this->appId;
  111. $params['status'] = 1;
  112. $res = AuthItem::setData($params);
  113. if ($res === false) return $this->error(AuthItem::getStaticError());
  114. return $this->success('操作成功');
  115. }
  116. }
  117. } catch (\Exception $e) {
  118. return $this->error($e->getMessage(), []);
  119. }
  120. }
  121. /**
  122. * 删除
  123. * @param null $keyword
  124. * @param int $is_recycle
  125. * @return mixed|void
  126. */
  127. public function actionDel()
  128. {
  129. $request = Yii::$app->request;
  130. if ($request->isAjax) {
  131. if ($request->isGet) {
  132. $id = Yii::$app->request->get('id', '');
  133. $params = ['id' => $id, 'status' => StatusEnum::DELETE];
  134. $res = AuthItem::setData($params);
  135. if ($res === false) return $this->error(AuthItem::getStaticError());
  136. return $this->success('操作成功');
  137. }
  138. }
  139. }
  140. /**
  141. * 更新序号
  142. * @return mixed|void
  143. */
  144. public function actionUpdateSort()
  145. {
  146. $request = Yii::$app->request;
  147. if ($request->isAjax) {
  148. if ($request->isGet) {
  149. $id = Yii::$app->request->get('id', '');
  150. $sort = Yii::$app->request->get('sort', '999');
  151. $params = ['id' => $id, 'sort' => $sort];
  152. $res = AuthItem::setData($params);
  153. if ($res === false) return $this->error(AuthItem::getStaticError());
  154. return $this->success('ok');
  155. }
  156. }
  157. }
  158. }