name = $params["name"]; $this->description = $params["description"]; $this->status = "normal"; if ($this->name == "") { return ["code" => EMPTY_ROLE_NAME]; } // check if has the same role name in system. $role = $this->where("name", $this->name)->where("is_del", false)->first(); if ($role) { return ["code" => ALREADY_EXIST_ROLE]; } // $this->save(); $params["id"] = $this->getQueueableId(); return ["code" => SUCCESS, "data" => $params]; } /** * 更新用户角色的名字,描述等信息 * * @param array $params * @return int */ public function ModifyRole(array $params) { $update = []; $id = $params["id"]; if ($id == "") { return EMPTY_ROLE_ID; } // check if role exist $role = $this->where("id", $id)->where("is_del", false)->first(); if (!$role) { return INVALID_ROLE_ID; } if ($params["name"] != "") { $update["name"] = $params["name"]; } if ($params["description"] != "") { $update["description"] = $params["description"]; } if (count($update) == 0) { return NOTHING_UPDATE; } $this->where("id", $id)->where("is_del", false)->update($update); return SUCCESS; } /** * 删除一个用户角色 * * @param array $params * @return int */ public function DeleteRole(array $params) { $id = $params["id"]; if ($id == "") { return EMPTY_ROLE_ID; } $role = $this->where("id", $id)->where("is_del", false)->first(); if (!$role) { return INVALID_ROLE_ID; } $this->where("id", $id)->where("is_del", false)->update(["is_del" => true]); return SUCCESS; } /** * 列出用户角色列表 * * @param array $params * @return mixed */ public function ListRole(array $params) { $page = $params["page"]; $pageCount = $params["pageCount"]; if ($page < 1) { $page = 1; } if ($pageCount > 15 || $pageCount < 1) { $pageCount = 15; } $data = $this->select("name", "description") ->where("is_del", false)->orderBy("created_at", "asc") ->paginate($pageCount, ["*"], "page", $page); return $data; } }