RoleApi.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace app\admin\api;
  3. use app\admin\model\Role;
  4. /**
  5. * Description of RoleApi
  6. *
  7. * @author sgq
  8. */
  9. class RoleApi {
  10. public static function getOne($id) {
  11. $res = Role::findOrEmpty($id);
  12. if ($res["pid"] > 0) {
  13. $res["pName"] = isNullOrEmpty(Role::where("id", "=", $res["pid"])->findOrEmpty()["name"]);
  14. }
  15. if ($res["deptid"] > 0) {
  16. $res["deptName"] = isNullOrEmpty(DeptApi::getOne($res["deptid"])["simplename"]);
  17. }
  18. return $res;
  19. }
  20. public static function getList($params) {
  21. $where = [];
  22. if (isset($params["roleName"])) {
  23. $where = [["name", "like", "%" . $name . "%"]];
  24. }
  25. $list = Role::where($where)->select()->toArray();
  26. foreach ($list as &$item) {
  27. if ($item["pid"] > 0) {
  28. $item["pName"] = isNullOrEmpty(Role::where("id", "=", $item["pid"])->findOrEmpty()["name"]);
  29. }
  30. if ($item["deptid"] > 0) {
  31. $item["deptName"] = isNullOrEmpty(DeptApi::getOne($item["deptid"])["simplename"]);
  32. }
  33. }
  34. return $list;
  35. }
  36. public static function create($params) {
  37. if (!isset($params["name"]))
  38. return ["msg" => "角色名不能为空"];
  39. if (!isset($params["tips"]))
  40. return ["msg" => "别名不能为空"];
  41. if (!isset($params["pid"]))
  42. return ["msg" => "请选择上级名称"];
  43. $data["name"] = $params["name"];
  44. $data["pid"] = $params["pid"];
  45. $data["deptid"] = $params["deptid"];
  46. $data["tips"] = $params["tips"];
  47. $data["num"] = $params["num"];
  48. Role::insert($data);
  49. return ["code" => 200, "msg" => "成功"];
  50. }
  51. public static function update($params) {
  52. if (!isset($params["id"]))
  53. return ["msg" => "没有角色信息"];
  54. if (!isset($params["name"]))
  55. return ["msg" => "角色名不能为空"];
  56. if (!isset($params["tips"]))
  57. return ["msg" => "别名不能为空"];
  58. if (!isset($params["pid"]))
  59. return ["msg" => "请选择上级名称"];
  60. $child_ids = Role::where("pid", "=", $params["id"])->column("id");
  61. if (in_array($params["pid"], $child_ids))
  62. return ["msg" => "不能选择自身下级作为上级"];
  63. $data["id"] = $params["id"];
  64. $data["name"] = $params["name"];
  65. $data["pid"] = $params["pid"];
  66. $data["deptid"] = $params["deptid"];
  67. $data["tips"] = $params["tips"];
  68. $data["num"] = $params["num"];
  69. Role::update($data);
  70. return ["code" => 200, "msg" => "成功"];
  71. }
  72. public static function delete($id) {
  73. //不能删除超级管理员角色
  74. if ($id == 1)
  75. return ["msg" => "不能删除超级管理员角色"];
  76. Role::where(["id" => $id])->delete();
  77. return ["code" => 200, "msg" => "成功"];
  78. }
  79. }