RoleController.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Log;
  6. use Illuminate\Support\Facades\Validator;
  7. class RoleController extends Controller
  8. {
  9. /**
  10. * 创建一个新的角色
  11. *
  12. * @param Request $request
  13. * @return \Illuminate\Http\JsonResponse
  14. */
  15. public function CreateRole(Request $request)
  16. {
  17. $validator = Validator::make($request->all(), [
  18. "name" => "required|between:1,64",
  19. "description" => "max:255",
  20. ]);
  21. if ($validator->fails()) {
  22. return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
  23. }
  24. $params = [];
  25. $params["name"] = $request->input("name");
  26. $params["description"] = $request->input("description");
  27. $role = new Models\Role();
  28. $result = $role->CreateRole($params);
  29. if ($result["code"] == 0) {
  30. return $this->success($result["data"]);
  31. }
  32. return $this->fail($result["code"], $this->error[$result["code"]]);;
  33. }
  34. /**
  35. * 修改某个角色的信息
  36. *
  37. * @param Request $request
  38. * @return \Illuminate\Http\JsonResponse
  39. */
  40. public function ModifyRole(Request $request)
  41. {
  42. $validator = Validator::make($request->all(), [
  43. "id" => "required|integer|min:1",
  44. "name" => "between:1,64",
  45. "description" => "max:255",
  46. ]);
  47. if ($validator->fails()) {
  48. return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
  49. }
  50. $params = [];
  51. $params["id"] = $request->input("id");
  52. $params["name"] = $request->input("name");
  53. $params["description"] = $request->input("description");
  54. $role = new Models\Role();
  55. $code = $role->ModifyRole($params);
  56. if ($code == 0) {
  57. return $this->success("success");
  58. }
  59. return $this->fail($code, $this->error[$code]);
  60. }
  61. /**
  62. * 删除某个角色
  63. *
  64. * @param Request $request
  65. * @return \Illuminate\Http\JsonResponse
  66. */
  67. public function DeleteRole(Request $request)
  68. {
  69. $validator = Validator::make($request->all(), [
  70. "id" => "required|integer|min:1",
  71. ]);
  72. if ($validator->fails()) {
  73. return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
  74. }
  75. $params = [];
  76. $params["id"] = $request->input("id");
  77. $role = new Models\Role();
  78. $code = $role->DeleteRole($params);
  79. if ($code == 0) {
  80. return $this->success("success");
  81. }
  82. return $this->fail($code, $this->error[$code]);
  83. }
  84. /**
  85. * 列出所有的角色信息
  86. *
  87. * @param Request $request
  88. * @return \Illuminate\Http\JsonResponse|mixed
  89. */
  90. public function ListRole(Request $request)
  91. {
  92. $validator = Validator::make($request->all(), [
  93. "page" => "integer|min:1",
  94. "pageCount" => "integer|min:1"
  95. ]);
  96. if ($validator->fails()) {
  97. return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
  98. }
  99. $params = [];
  100. $params["page"] = (int)$request->input("page");
  101. $params["pageCount"] = (int)$request->input("pageCount");
  102. $params["keyword"] = $request->input("keyword");
  103. $role = new Models\Role();
  104. $roleData = $role->ListRole($params);
  105. return $this->success($roleData);
  106. }
  107. /**
  108. * 加载当前用户的角色信息
  109. *
  110. * @param Request $request
  111. * @return \Illuminate\Http\JsonResponse
  112. */
  113. public function LoadRole(Request $request)
  114. {
  115. $uid = (int)$request->input("currentUid");
  116. if ($uid < 1) {
  117. $this->fail(INVALID_USER_ID, $this->error[INVALID_USER_ID]);
  118. }
  119. $role = new Models\UserRole();
  120. $data = $role->LoadRole($uid);
  121. if ($data["code"] == 0){
  122. return $this->success($data["data"]);
  123. }
  124. return $this->fail($data["code"], $this->error[$data["code"]]);
  125. }
  126. /**
  127. * 列出角色下的用户
  128. *
  129. * @param Request $request
  130. * @return array|\Illuminate\Http\JsonResponse
  131. */
  132. public function LoadRoleUsers(Request $request)
  133. {
  134. $validator = Validator::make($request->all(), [
  135. "keyword" => "max: 255",
  136. "page" => "integer|min:1",
  137. "pageCount" => "integer|min:1"
  138. ]);
  139. if ($validator->fails()) {
  140. return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
  141. }
  142. $keyword = $request->input("keyword");
  143. $page = $request->input("page");
  144. $pageCount = $request->input("pageCount");
  145. $role = new Models\Role();
  146. $data = $role->LoadRoleUsers($keyword, $page, $pageCount);
  147. return $data;
  148. }
  149. }