SystemDeptController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: sai <1430792918@qq.com>
  6. // +----------------------------------------------------------------------
  7. namespace plugin\saiadmin\app\controller\system;
  8. use plugin\saiadmin\app\validate\system\SystemDeptValidate;
  9. use plugin\saiadmin\basic\BaseController;
  10. use plugin\saiadmin\app\logic\system\SystemDeptLogic;
  11. use plugin\saiadmin\service\Permission;
  12. use support\Request;
  13. use support\Response;
  14. /**
  15. * 部门控制器
  16. */
  17. class SystemDeptController extends BaseController
  18. {
  19. /**
  20. * 构造
  21. */
  22. public function __construct()
  23. {
  24. $this->logic = new SystemDeptLogic();
  25. $this->validate = new SystemDeptValidate;
  26. parent::__construct();
  27. }
  28. /**
  29. * 数据列表
  30. * @param Request $request
  31. * @return Response
  32. */
  33. #[Permission('部门数据列表', 'core:dept:index')]
  34. public function index(Request $request) : Response
  35. {
  36. $where = $request->more([
  37. ['name', ''],
  38. ['code', ''],
  39. ['status', ''],
  40. ]);
  41. $data = $this->logic->tree($where);
  42. return $this->success($data);
  43. }
  44. /**
  45. * 读取数据
  46. * @param Request $request
  47. * @return Response
  48. */
  49. #[Permission('部门数据读取', 'core:dept:read')]
  50. public function read(Request $request) : Response
  51. {
  52. $id = $request->input('id', '');
  53. $model = $this->logic->read($id);
  54. if ($model) {
  55. $data = is_array($model) ? $model : $model->toArray();
  56. return $this->success($data);
  57. } else {
  58. return $this->fail('未查找到信息');
  59. }
  60. }
  61. /**
  62. * 保存数据
  63. * @param Request $request
  64. * @return Response
  65. */
  66. #[Permission('部门数据添加', 'core:dept:save')]
  67. public function save(Request $request): Response
  68. {
  69. $data = $request->post();
  70. $this->validate('save', $data);
  71. $result = $this->logic->add($data);
  72. if ($result) {
  73. return $this->success('添加成功');
  74. } else {
  75. return $this->fail('添加失败');
  76. }
  77. }
  78. /**
  79. * 更新数据
  80. * @param Request $request
  81. * @return Response
  82. */
  83. #[Permission('部门数据修改','core:dept:update')]
  84. public function update(Request $request): Response
  85. {
  86. $data = $request->post();
  87. $this->validate('update', $data);
  88. $result = $this->logic->edit($data['id'], $data);
  89. if ($result) {
  90. return $this->success('修改成功');
  91. } else {
  92. return $this->fail('修改失败');
  93. }
  94. }
  95. /**
  96. * 删除数据
  97. * @param Request $request
  98. * @return Response
  99. */
  100. #[Permission('部门数据删除','core:dept:destroy')]
  101. public function destroy(Request $request) : Response
  102. {
  103. $ids = $request->post('ids', '');
  104. if (empty($ids)) {
  105. return $this->fail('请选择要删除的数据');
  106. }
  107. $result = $this->logic->destroy($ids);
  108. if ($result) {
  109. return $this->success('删除成功');
  110. } else {
  111. return $this->fail('删除失败');
  112. }
  113. }
  114. /**
  115. * 可操作部门
  116. * @param Request $request
  117. * @return Response
  118. */
  119. public function accessDept(Request $request) : Response
  120. {
  121. $where = ['status' => 1];
  122. $data = $this->logic->accessDept($where);
  123. return $this->success($data);
  124. }
  125. }